Hızlı Başlangıç: Windows masaüstü uygulamasından belirteç alma ve Microsoft Graph API'sini çağırma
Hoş geldiniz! Bu muhtemelen beklediğiniz sayfa değildir. Bir düzeltme üzerinde çalışırken bu bağlantı sizi doğru makaleye götürmelidir:
Bu sorun için özür dileriz ve bu sorunu çözmek için çalışırken sabrınızı takdir ediyoruz.
Bu hızlı başlangıçta, bir Windows Presentation Foundation (WPF) uygulamasının kullanıcılarda nasıl oturum açabileceğini ve Microsoft Graph API'sini çağırmak için erişim belirteci alabileceğini gösteren bir kod örneği indirip çalıştıracaksınız.
Bkz. Örnek bir çizim için nasıl çalışır ?
1. Adım: Uygulamanızı Azure portalında yapılandırma
Bu hızlı başlangıçtaki kod örneğinin çalışması için ve ms-appx-web://microsoft.aad.brokerplugin/{client_id}
için yeniden yönlendirme URI'sinihttps://login.microsoftonline.com/common/oauth2/nativeclient
ekleyin.
Uygulamanız bu özniteliklerle yapılandırıldı.
2. Adım: Visual Studio projenizi indirme
Visual Studio 2019 kullanarak projeyi çalıştırın.
İpucu
Windows'ta yol uzunluğu sınırlamalarından kaynaklanan hataları önlemek için, arşivi ayıklamanızı veya depoyu sürücünüzün köküne yakın bir dizine kopyalamanızı öneririz.
3. Adım: Uygulamanız yapılandırılmış ve çalışmaya hazır
Projenizi uygulamanızın özelliklerinin değerleriyle yapılandırdık ve çalışmaya hazır.
Not
Enter_the_Supported_Account_Info_Here
Daha Fazla Bilgi
Örnek nasıl çalışır?
MSAL.NET
MSAL (Microsoft.Identity.Client), kullanıcıları oturum açmak ve Microsoft kimlik platformu tarafından korunan bir API'ye erişmek için kullanılan belirteçleri istemek için kullanılan kitaplıktır. MSAL kitaplığını Visual Studio'nun Paket Yöneticisi Konsolu'nda aşağıdaki komutu çalıştırarak yükleyebilirsiniz:
Install-Package Microsoft.Identity.Client -IncludePrerelease
MSAL başlatma
Şu kodu ekleyerek MSAL başvurusunu ekleyebilirsiniz:
using Microsoft.Identity.Client;
Sonra da şu kodu kullanarak MSAL başlatın:
IPublicClientApplication publicClientApp = PublicClientApplicationBuilder.Create(ClientId)
.WithRedirectUri("https://login.microsoftonline.com/common/oauth2/nativeclient")
.WithAuthority(AzureCloudInstance.AzurePublic, Tenant)
.Build();
Where: | Açıklama |
---|---|
ClientId |
Uygulama (istemci) Kimliği, Azure portalda kayıtlı uygulamadır. Bu değeri Azure portalda uygulamanın Genel bakış sayfasında bulabilirsiniz. |
Belirteç isteme
MSAL, belirteç almak için iki yönteme sahiptir: AcquireTokenInteractive
ve AcquireTokenSilent
.
Etkileşimli olarak kullanıcı belirteci alma
Bazı durumlarda, kullanıcıların kimlik bilgilerini doğrulamak veya onay vermek için bir açılır pencere aracılığıyla Microsoft kimlik platformu etkileşime zorlanması gerekir. Bazı Örnekler:
- Kullanıcılar uygulamada ilk kez oturum açtığında
- Parolanın süresi dolduğundan kullanıcıların kimlik bilgilerini yeniden girmesi gerektiğinde
- Uygulamanız kullanıcının onaylaması gereken bir kaynağa erişim istediğinde
- İki öğeli kimlik doğrulama gerektiğinde
authResult = await App.PublicClientApp.AcquireTokenInteractive(_scopes)
.ExecuteAsync();
Where: | Açıklama |
---|---|
_scopes |
Microsoft Graph veya { "api://<Application ID>/access_as_user" } özel web API'leri gibi { "user.read" } istenen kapsamları içerir. |
Kullanıcı belirtecini sessizce alma
Kullanıcının bir kaynağa erişmesi gerektiği her seferde kimlik bilgilerini doğrulamasının gerekmesini istemezsiniz. Çoğu kez, belirteç alma ve yenileme işlemlerinin kullanıcı etkileşimi olmadan gerçekleşmesini istersiniz. Korunan kaynaklara erişmek üzere belirteç almak için, ilk AcquireTokenInteractive
yönteminden sonra AcquireTokenSilent
yöntemini kullanabilirsiniz:
var accounts = await App.PublicClientApp.GetAccountsAsync();
var firstAccount = accounts.FirstOrDefault();
authResult = await App.PublicClientApp.AcquireTokenSilent(scopes, firstAccount)
.ExecuteAsync();
Where: | Açıklama |
---|---|
scopes |
Microsoft Graph veya { "api://<Application ID>/access_as_user" } özel web API'leri gibi { "user.read" } istenen kapsamları içerir. |
firstAccount |
Önbellekteki ilk kullanıcıyı belirtir (MSAL destekleyen birden çok kullanıcı tek bir uygulama olarak). |
Yardım ve destek
Yardıma ihtiyacınız varsa, bir sorunu bildirmek veya destek seçenekleriniz hakkında bilgi edinmek istiyorsanız bkz . Geliştiriciler için yardım ve destek.
Sonraki adımlar
Bu hızlı başlangıcın tam bir açıklamasının da içinde olduğu yeni özellikleri ve uygulamaları oluşturma hakkında eksiksiz adım adım kılavuz için Windows masaüstü öğreticisini deneyin.