Hızlı Başlangıç: Evrensel Windows Platformu (UWP) uygulamasından 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 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
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
- Visual Studio 2019
1. Adım: Uygulamayı yapılandırma
Bu hızlı başlangıçtaki kod örneğinin çalışması için öğesinin 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 projesini 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.
4. Adım: Uygulamayı çalıştırma
Örnek uygulamayı yerel makinenizde çalıştırmak için:
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.
Hata Ayıklama>Hata Ayıklamadan 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?
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 Identity platformu tarafından korunan bir API'ye erişmek için kullanılı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
MSAL başlatma
Şu kodu ekleyerek MSAL başvurusunu 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ğeri ClientId
, Azure portalına kaydettiğiniz uygulamanın Uygulama (istemci) kimliğidir . Bu değeri Azure portalda uygulamanın Genel bakış sayfasında bulabilirsiniz.
Belirteç 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 App.PublicClientApp.AcquireTokenInteractive(scopes)
.ExecuteAsync();
scopes
parametresi, 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
İlk AcquireTokenInteractive
yöntemden AcquireTokenSilent
sonra korumalı kaynaklara erişmek için belirteçleri almak için 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 belirteç almaları ve yenilemeleri istersiniz
var accounts = await App.PublicClientApp.GetAccountsAsync();
var firstAccount = accounts.FirstOrDefault();
authResult = await App.PublicClientApp.AcquireTokenSilent(scopes, firstAccount)
.ExecuteAsync();
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ı 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.