Aracılığıyla paylaş


Hızlı Başlangıç: Evrensel Windows Platformu uygulamasında kullanıcılarda oturum açma ve Microsoft Graph'ı çağırma

Bu hızlı başlangıçta, bir Evrensel Windows Platformu (UWP) 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 ?

Önkoşullar

Not

MSAL.NET 4.61.0 ve üzeri sürümler Evrensel Windows Platformu (UWP), Xamarin Android ve Xamarin iOS için destek sağlamaz. UWP uygulamalarınızı WINUI gibi modern çerçevelere geçirmenizi öneririz. Xamarin ve UWP için yaklaşan MSAL.NET Kullanımdan Kaldırılması Duyurusu'nda kullanımdan kaldırma hakkında daha fazla bilgi edinin.

Hızlı başlangıç uygulamanızı kaydetme ve indirme

Hızlı başlangıç uygulamanızı başlatmak için kullanabileceğiniz iki seçenek vardır:

1. Seçenek: Uygulamanızı otomatik olarak kaydedip yapılandırın ve ardından kod örneğinizi indirin

  1. AMicrosoft Entra yönetim merkezine gidin - Uygulama kayıtları hızlı başlangıç deneyimi.
  2. Uygulamanız için bir ad girin ve Kaydet'i seçin.
  3. Yeni uygulamanızı indirmek ve otomatik olarak yapılandırmak için yönergeleri izleyin.

2. Seçenek: Uygulamanızı ve kod örneğinizi el ile kaydetme ve yapılandırma

1. Adım: Uygulamanızı kaydetme

Uygulamanızı kaydetmek ve uygulama kayıt bilgilerinizi çözümünüze eklemek için şu adımları izleyin:

  1. Microsoft Entra yönetim merkezinde oturum açın.
  2. Birden çok kiracıya erişiminiz varsa, Dizinler + abonelikler menüsünden uygulamayı kaydetmek istediğiniz kiracıya geçmek için üst menüdeki Ayarlar simgesini kullanın.
  3. Entra ID>Uygulama kayıtları'na göz atın, Yeni kayıt'ı seçin.
  4. Uygulamanız için bir Ad girin, örneğin UWP-App-calling-MsGraph. Uygulamanızın kullanıcıları bu adı görebilir ve daha sonra değiştirebilirsiniz.
  5. Desteklenen hesap türleri bölümünde, herhangi bir kuruluş dizinindeki hesaplar ve kişisel Microsoft hesapları (örneğin, Skype, Xbox, Outlook.com) öğesini seçin.
  6. Uygulamayı oluşturmak için Kaydet'i seçin ve daha sonraki bir adımda kullanmak üzere Uygulama (istemci) kimliğini kaydedin.
  7. Yönet'in altında Kimlik Doğrulama'yı seçin.
  8. Platform> ekleMobil ve masaüstü uygulamaları'ı seçin.
  9. Yeniden yönlendirme URI'leri'nin altında öğesini seçinhttps://login.microsoftonline.com/common/oauth2/nativeclient.
  10. Yapılandır'ı seçin.

2. Adım: Projeyi indirme

UWP örnek uygulamasını indirme

İ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: Projeyi yapılandırma

  1. .zip arşivini sürücünüzün köküne yakın bir yerel klasöre ayıklayın. Örneğin, C:\Azure-Samples içine.

  2. Projeyi Visual Studio'da açın. İstenirse Evrensel Windows Platformu geliştirme iş yükünü ve tek tek SDK bileşenlerini yükleyin.

  3. MainPage.Xaml.cs değişkeninin ClientId değerini daha önce kaydettiğiniz uygulamanın Uygulama (İstemci) Kimliği olarak değiştirin.

    private const string ClientId = "Enter_the_Application_Id_here";
    

    Uygulama (istemci) kimliğini Microsoft Entra yönetim merkezindeki (Entra ID>>) uygulamanın Genel Bakış bölmesinde bulabilirsiniz.

  4. Paket için yeni bir otomatik olarak imzalanan test sertifikası oluşturun ve seçin:

    1. Çözüm Gezgini'ndePackage.appxmanifest dosyasına çift tıklayın.
    2. Paketleme>Sertifika Seç...>Oluştur....
    3. Bir parola girin ve Tamam'ı seçin. Native_UWP_V2_TemporaryKey.pfx adlı bir sertifika oluşturulur.
    4. Tamam'ı seçerek Sertifika seçin iletişim kutusunu kapatın ve çözüm gezgininde Native_UWP_V2_TemporaryKey.pfx dosyasını gördüğünüzü doğrulayın.
    5. Çözüm Gezgini'nde, Native_UWP_V2 projesine sağ tıklayın ve Özellikler'i seçin.
    6. İmzalama öğesini seçin ve ardından Tanımlayıcı ad anahtarı dosyasını seçin açılır listesinde oluşturduğunuz .pfx dosyasını seçin.

4. Adım: Uygulamayı çalıştırma

Örnek uygulamayı yerel makinenizde çalıştırmak için:

  1. Visual Studio araç çubuğunda doğru platformu seçin (arm değil muhtemelen x64 veya x86). Hedef cihaz, Cihaz'dan Yerel Makine'ye değiştirilmelidir.

  2. Hata Ayıklama>Hata Ayıklama Olmadan Başlat seçin.

    Bunu yapmanız istenirse, uygulamayı başlatmak için önce Geliştirici Modu'nu etkinleştirmeniz ve ardından Hata Ayıklama Olmadan Yeniden Başlatmanız gerekebilir.

Uygulamanın penceresi görüntülendiğinde Microsoft Graph API'sini Ara düğmesini seçebilir, kimlik bilgilerinizi girebilir ve uygulama tarafından istenen izinleri onaylayabilirsiniz. Başarılı olursa uygulama, Microsoft Graph API'sine yapılan çağrıdan alınan bazı belirteç bilgilerini ve verileri görüntüler.

Örnek nasıl çalışır?

Bu hızlı başlangıç tarafından oluşturulan örnek uygulamanın nasıl çalıştığını gösteren diyagram.

MSAL.NET

MSAL (Microsoft.Identity.Client), kullanıcılarda oturum açmak ve güvenlik belirteçleri istemek için kullanılan kitaplıktır. Güvenlik belirteçleri, Microsoft kimlik platformu tarafından korunan bir API'ye erişmek için kullanılır. Visual Studio'nun Paket Yöneticisi Konsolu'nda aşağıdaki komutu çalıştırarak MSAL'yi yükleyebilirsiniz:

Install-Package Microsoft.Identity.Client

MSAL'ın başlatılması

Aşağıdaki kodu ekleyerek MSAL için referans ekleyebilirsiniz:

using Microsoft.Identity.Client;

Ardından MSAL aşağıdaki kod kullanılarak başlatılır:

public static IPublicClientApplication PublicClientApp;
PublicClientApp = PublicClientApplicationBuilder.Create(ClientId)
                                                .WithRedirectUri("https://login.microsoftonline.com/common/oauth2/nativeclient")
                                                    .Build();

değeriClientId, Microsoft Entra yönetim merkezine kaydettiğiniz uygulamanın Uygulama (istemci) kimliğidir. Bu değeri Microsoft Entra yönetim merkezindeki uygulamanın Genel Bakış sayfasında bulabilirsiniz.

Jeton isteme

MSAL,UWP uygulamasında 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çar
  • Parolanın süresi dolduğundan kullanıcıların kimlik bilgilerini yeniden girmesi gerektiğinde
  • Uygulamanız bir kaynağa erişim istediğinde, kullanıcının buna onay vermesi gerekir
  • İki öğeli kimlik doğrulama gerektiğinde
authResult = await PublicClientApp.AcquireTokenInteractive(scopes)
                      .ExecuteAsync();

İstenen kapsamları içeren scopes parametresi, Microsoft Graph için { "user.read" } veya özel web API'leri için { "api://<Application ID>/access_as_user" } gibi değerler barındırır.

Kullanıcı belirtecini sessizce elde et

AcquireTokenSilent yönteminden sonra, korumalı kaynaklara erişim sağlamak için belirteçleri almak amacıyla AcquireTokenInteractive yöntemini kullanın. Bir kaynağa her erişmesi gerektiğinde kullanıcının kimlik bilgilerini doğrulamasını istemek istemezsiniz. Çoğu zaman, kullanıcı etkileşimi olmadan token edinmek ve yenilemek istersiniz.

var accounts = await PublicClientApp.GetAccountsAsync();
var firstAccount = accounts.FirstOrDefault();
authResult = await PublicClientApp.AcquireTokenSilent(scopes, firstAccount)
                                      .ExecuteAsync();
  • scopes, { "user.read" } gibi Microsoft Graph veya özel web API'leri için istenen kapsamları içerir.
  • firstAccount önbellekteki ilk kullanıcı hesabını belirtir (MSAL, tek bir uygulamada birden çok kullanıcıyı destekler).

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.