Mulai cepat: Memperoleh token dan memanggil Microsoft Graph API dari aplikasi desktop Windows
Selamat Datang! Ini mungkin bukan halaman yang Anda inginkan. Sementara kami bekerja memperbaikinya, tautan ini akan membawa Anda ke artikel yang tepat:
Mulai cepat: Memasukkan pengguna dan memanggil Microsoft Graph di aplikasi desktop Windows
Kami mohon maaf atas ketidaknyamanan ini dan menghargai kesabaran Anda selama kami menyelesaikan masalah ini.
Dalam mulai cepat ini, Anda mengunduh dan menjalankan sampel kode yang menunjukkan cara aplikasi Windows Presentation Foundation (WPF) dapat memasukkan pengguna dan mendapatkan token akses untuk memanggil API Microsoft Graph.
Lihat Cara kerja sampel untuk melihat ilustrasi.
Langkah 1: Konfigurasikan aplikasi di portal Microsoft Azure
Agar sampel kode dalam mulai cepat ini berfungsi, tambahkan URI Pengalihan dari https://login.microsoftonline.com/common/oauth2/nativeclient
dan ms-appx-web://microsoft.aad.brokerplugin/{client_id}
.
Aplikasi Anda dikonfigurasi dengan atribut ini.
Langkah 2: Unduh proyek Visual Studio
Jalankan proyek menggunakan Visual Studio 2019.
Tip
Untuk menghindari kesalahan yang disebabkan oleh keterbatasan panjang jalur di Windows, kami sarankan mengekstrak arsip atau mengkloning repositori ke direktori di dekat akar drive Anda.
Langkah 3: Aplikasi Anda dikonfigurasi dan siap dijalankan
Kami telah mengonfigurasi proyek Anda dengan nilai properti aplikasi Anda dan siap dijalankan.
Catatan
Enter_the_Supported_Account_Info_Here
Informasi selengkapnya
Cara kerja sampel
MSAL.NET
MSAL (Microsoft.Identity.Client) adalah pustaka yang digunakan untuk memasukkan pengguna dan meminta token yang digunakan untuk mengakses API yang dilindungi oleh platform identitas Microsoft. Anda dapat menginstal MSAL dengan menjalankan perintah berikut di Konsol Package ManagerVisual Studio:
Install-Package Microsoft.Identity.Client -IncludePrerelease
Inisialisasi MSAL
Anda bisa menambahkan referensi untuk MSAL dengan menambahkan kode berikut:
using Microsoft.Identity.Client;
Lalu, inisialisasi MSAL menggunakan kode berikut:
IPublicClientApplication publicClientApp = PublicClientApplicationBuilder.Create(ClientId)
.WithRedirectUri("https://login.microsoftonline.com/common/oauth2/nativeclient")
.WithAuthority(AzureCloudInstance.AzurePublic, Tenant)
.Build();
Mana: | Deskripsi |
---|---|
ClientId |
ID Aplikasi (klien) untuk aplikasi yang terdaftar di portal Microsoft Azure. Anda dapat menemukan nilai ini di halaman Gambaran Umum aplikasi di portal Microsoft Azure. |
Meminta token
MSAL memiliki dua metode untuk memperoleh token: AcquireTokenInteractive
dan AcquireTokenSilent
.
Mendapatkan token pengguna secara interaktif
Beberapa situasi mengharuskan pengguna berinteraksi dengan platform identitas Microsoft melalui jendela pop-up untuk memvalidasi info masuk mereka atau memberikan persetujuan. Beberapa contohnya termasuk:
- Pertama kali pengguna masuk ke aplikasi
- Ketika pengguna perlu memasukkan kembali kredensial mereka karena kata sandi kedaluwarsa
- Ketika aplikasi Anda meminta akses ke sumber daya tambahan yang perlu disetujui pengguna
- Ketika Autentikasi dua faktor diperlukan
authResult = await App.PublicClientApp.AcquireTokenInteractive(_scopes)
.ExecuteAsync();
Mana: | Deskripsi |
---|---|
_scopes |
Berisi cakupan yang diminta, seperti { "user.read" } untuk Microsoft Graph atau { "api://<Application ID>/access_as_user" } untuk API web kustom. |
Mendapatkan token pengguna secara diam-diam
Anda tidak ingin meminta pengguna memvalidasi kredensial mereka setiap kali mereka perlu mengakses sumber daya. Sebagian besar waktu Anda menginginkan akuisisi dan pembaruan token tanpa interaksi pengguna apa pun. Anda dapat menggunakan metode AcquireTokenSilent
ini untuk mendapatkan token untuk mengakses sumber daya yang dilindungi setelah metode AcquireTokenInteractive
awal:
var accounts = await App.PublicClientApp.GetAccountsAsync();
var firstAccount = accounts.FirstOrDefault();
authResult = await App.PublicClientApp.AcquireTokenSilent(scopes, firstAccount)
.ExecuteAsync();
Mana: | Deskripsi |
---|---|
scopes |
Berisi cakupan yang diminta, seperti { "user.read" } untuk Microsoft Graph atau { "api://<Application ID>/access_as_user" } untuk API web kustom. |
firstAccount |
Menentukan pengguna pertama dalam cache (MSAL mendukung beberapa pengguna dalam satu aplikasi). |
Bantuan dan dukungan
Jika Anda memerlukan bantuan, ingin melaporkan masalah, atau ingin mempelajari opsi dukungan, lihat Bantuan dan dukungan bagi pengembang.
Langkah berikutnya
Cobalah tutorial desktop Windows untuk mengetahui panduan langkah demi langkah lengkap tentang membangun aplikasi dan fitur baru, termasuk penjelasan lengkap tentang mulai cepat ini.