Bagikan melalui


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}.

Already configured 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

Shows how the sample app generated by this quickstart works

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.