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:

Hızlı Başlangıç: Windows masaüstü uygulamasında kullanıcıları oturum açma ve Microsoft Graph'ı çağırma

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.

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

Shows how the sample app generated by this quickstart works

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.