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
- Evrensel Windows Platformu geliştirme iş yükünün yüklü olduğu Visual Studio
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:
- [Hızlı] 1. Seçenek: Uygulamanızı otomatik olarak kaydedip yapılandırma ve ardından kod örneğinizi indirme
- [El ile] 2. Seçenek: Uygulamanızı ve kod örneğinizi el ile kaydetme ve yapılandırma
1. Seçenek: Uygulamanızı otomatik olarak kaydedip yapılandırın ve ardından kod örneğinizi indirin
- Microsoft Entra yönetim merkezine gidin - Uygulama kayıtları quickstart deneyimi.
- Uygulamanız için bir ad girin ve Kaydet'i seçin.
- 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:
- Microsoft Entra yönetim merkezinde oturum açın.
- 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.
- Kimlik>Uygulamaları'na> göz atın Uygulama kayıtları Yeni kayıt'ı seçin.
- 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. - 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.
- Uygulamayı kaydetmek için Kaydet'i seçin.
- Yönet'in altında Kimlik Doğrulama'yı seçin.
- Platform>ekle Mobil ve masaüstü uygulamaları'ı seçin.
- 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 ilemsal{client_id}://auth
aynı) ekleyinms-appx-web://microsoft.aad.brokerplugin/{client_id}
{client_id}
. - 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
Zip dosyasını diskin köküne yakın bir yerel klasöre (örneğin C:\Azure-Samples) ayıklayın.
Projeyi Visual Studio'da açın.
App.Xaml.cs dosyasını düzenleyin ve
ClientId
ileTenant
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ştirinUygulamanız herhangi bir kuruluş dizinindeki Hesapları ve kişisel Microsoft hesaplarını destekliyorsa, bu değeri ile
common
değ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?
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.