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

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. Oluşturduğunuz masaüstü uygulaması, Kod Değişimi için Proof Key (PKCE) standardıyla eşleştirilmiş yetkilendirme kodu akışını kullanır.

Bkz. Örnek bir çizim için nasıl çalışır ?

Önkoşullar

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. Microsoft Entra yönetim merkezine gidin - Uygulama kayıtları quickstart deneyimi.
  2. Uygulamanız için bir ad girin ve Kaydet'i seçin.
  3. Yönergeleri izleyerek yeni uygulamanızı yalnızca tek tıklamayla indirin ve otomatik olarak yapılandırın.

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

1. Adım: Uygulamanızı kaydetme

Bahşiş

Bu makaledeki adımlar, başladığınız portala göre biraz değişiklik gösterebilir.

Uygulamanızı kaydetmek ve uygulama kayıt bilgilerinizi çözümünüze el ile 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. Kimlik>Uygulamaları'na> göz atın Uygulama kayıtları Yeni kayıt'ı seçin.
  4. Uygulamanız için bir Ad girin, örneğin Win-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ı (ör. Skype, Xbox, Outlook.com) seçeneğini belirtin.
  6. Uygulamayı kaydetmek için Kaydet'i seçin.
  7. Yönet'in altında Kimlik Doğrulama'yı seçin.
  8. Platform>ekle Mobil ve masaüstü uygulamaları'ı seçin.
  9. Yeniden Yönlendirme URI'leri bölümünde Özel yeniden yönlendirme URI'leri'niseçin https://login.microsoftonline.com/common/oauth2/nativeclient ve burada uygulamanızın uygulama (istemci) kimliğini (onay kutusunda görünen GUID ile msal{client_id}://auth aynı) ekleyin ms-appx-web://microsoft.aad.brokerplugin/{client_id}{client_id}.
  10. Yapılandır'yı seçin.

2. Adım: Projeyi indirme

WPF örnek uygulamasını indirme

Bahşiş

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 dosyasını diskin köküne yakın bir yerel klasöre (örneğin C:\Azure-Samples) ayıklayın.

  2. Projeyi Visual Studio'da açın.

  3. App.Xaml.cs dosyasını düzenleyin ve ClientId ile Tenant alanlarının değerlerini aşağıdaki kodla değiştirin:

    private static string ClientId = "Enter_the_Application_Id_here";
    private static string Tenant = "Enter_the_Tenant_Info_Here";
    

Where:

  • Enter_the_Application_Id_here - kaydettiğiniz uygulamanın Uygulama (istemci) Kimliği değeridir.

    Uygulama (istemci) kimliğinin değerini bulmak için Microsoft Entra yönetim merkezinde uygulamanın Genel Bakış sayfasına gidin.

  • Enter_the_Tenant_Info_Here - aşağıdaki seçeneklerden birine ayarlanır:

    • Uygulamanız Bu kuruluş dizinindeki hesapları destekliyorsa, bu değeri Kiracı Kimliği veya Kiracı adı (örneğin, contoso.microsoft.com) ile değiştirin

    • Uygulamanız Herhangi bir kuruluş dizinindeki hesaplar yaklaşımını destekliyorsa bu değeri organizations ile değiştirin

    • Uygulamanız herhangi bir kuruluş dizinindeki Hesapları ve kişisel Microsoft hesaplarını destekliyorsa, bu değeri ile commondeğiştirin.

      Dizin (kiracı) kimliği ve Desteklenen hesap türlerinin değerlerini bulmak için Microsoft Entra yönetim merkezindeki uygulamanın Genel Bakış sayfasına gidin.

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

Visual Studio'da örnek uygulamayı derlemek ve çalıştırmak için Hata Ayıklama menüsünü>Seçin, Hata Ayıklamayı Başlat'ı seçin veya F5 tuşuna basın. Uygulamanızın MainWindow'ları görüntülenir.

Uygulamanın ana penceresi görüntülendiğinde Microsoft Graph API'sini Ara düğmesini seçin. Microsoft Entra hesabınızı (iş veya okul hesabı) veya Microsoft hesabınızı (live.com, outlook.com) kullanarak oturum açmanız istenir.

Uygulamayı ilk kez çalıştırıyorsanız, uygulamanın kullanıcı profilinize erişmesine ve oturum açmasına izin vermek için onay vermeniz istenir. İstenen izinlere onay verdikten sonra, uygulama başarıyla oturum açtığınızı görüntüler. Microsoft Graph API'sine yapılan çağrıdan alınan bazı temel belirteç bilgilerini ve kullanıcı verilerini görmeniz gerekir.

Daha fazla bilgi

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

Diagram showing 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 Microsoft Entra yönetim merkezinde kayıtlı uygulamanın Uygulama (istemci) kimliğidir. Bu değeri Microsoft Entra yönetim merkezindeki 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.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.GetAccountsAsync();
var firstAccount = accounts.FirstOrDefault();
authResult = await app.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.