Aracılığıyla paylaş


OAuth 2.0 kod verme akışını kullanarak Azure Active Directory web uygulamalarına erişimi yetkilendirme

Uyarı

Bu içerik eski Azure AD v1.0 uç noktasına yöneliktir. Yeni projeler için Microsoft kimlik platformu kullanın.

Uyarı

Sunucuya hangi kaynağı çağırmayı planladığınızı söylemezseniz, sunucu bu kaynak için Koşullu Erişim ilkelerini tetiklemez. Bu nedenle MFA tetikleyicisine sahip olmak için URL'nize bir kaynak eklemeniz gerekir.

Azure Active Directory (Azure AD), Azure AD kiracınızdaki web uygulamalarına ve web API'lerine erişim yetkisi vermenizi sağlamak için OAuth 2.0 kullanır. Bu kılavuz dilden bağımsızdır ve açık kaynak kitaplıklarımızdan herhangi birini kullanmadan HTTP iletileri gönderip almayıaçıklar.

OAuth 2.0 yetkilendirme kodu akışı, OAuth 2.0 belirtiminin 4.1 bölümünde açıklanmıştır. Web uygulamaları ve yerel olarak yüklenen uygulamalar dahil olmak üzere çoğu uygulama türünde kimlik doğrulaması ve yetkilendirme gerçekleştirmek için kullanılır.

AD kiracınıza uygulamanızı kaydedin

İlk olarak uygulamanızı Azure Active Directory (Azure AD) kiracınıza kaydedin. Bu size uygulamanız için bir Uygulama Kimliği verir ve belirteçleri almasını sağlar.

  1. Azure portalınaoturum açın.

  2. Azure AD kiracınızı seçmek için, sayfanın sağ üst köşesinden hesabınızı seçin, ardından Dizin Değiştir navigasyonunu ve uygun kiracıya geçişi seçin.

    • Hesabınızda yalnızca bir Azure AD kiracısı varsa veya uygun Azure AD kiracısını zaten seçtiyseniz bu adımı atlayın.
  3. Azure portalında Azure Active Directoryaraması yapın ve öğesini seçin.

  4. Azure Active Directory sol menüsünde Uygulama Kayıtlarıve ardından Yeni Kayıtseçin.

  5. İstemleri izleyin ve yeni bir uygulama oluşturun. Bu öğretici için bir web uygulaması veya genel istemci (mobil & masaüstü) uygulaması olması önemli değildir, ancak web uygulamaları veya genel istemci uygulamaları için belirli örnekler istiyorsanız hızlı başlangıçlarımıza göz atın.

    • Name uygulama adıdır ve uygulamanızı son kullanıcılara açıklar.
    • Desteklenen hesap türleri'nin altında Herhangi bir kuruluş dizinindeki hesaplar ve kişisel Microsoft hesapları'nı seçin.
    • Yönlendirme URI'sinisağlayın. Web uygulamaları için bu, uygulamanızın kullanıcıların oturum açabileceği temel URL'dir. Örneğin, http://localhost:12345. Genel istemci (mobil & masaüstü) için Azure AD bunu belirteç yanıtlarını döndürmek için kullanır. Uygulamanıza özgü bir değer girin. Örneğin, http://MyFirstAADApp.
  6. Kaydı tamamladıktan sonra Azure AD, uygulamanıza benzersiz bir istemci tanımlayıcısı atar (Uygulama Kimliği). Sonraki bölümlerde bu değere ihtiyacınız vardır, bu nedenle uygulama sayfasından kopyalayın.

  7. Uygulamanızı Azure portalında bulmak için Uygulama kayıtları'nı ve ardından tüm uygulamaları görüntüleseçin.

OAuth 2.0 yetkilendirme akışı

Yüksek düzeyde, bir uygulamanın yetkilendirme akışının tamamı biraz şöyle görünür:

OAuth Kimlik Doğrulama Kodu Akışı

Yetkilendirme kodu isteme

Yetkilendirme kodu akışı, istemcinin kullanıcıyı uç noktaya yönlendirmesiyle /authorize başlar. Bu istekte istemci, kullanıcıdan alması gereken izinleri belirtir. Azure portalında Uygulama kayıtları > Uç Noktalar seçerek kiracınız için OAuth 2.0 yetkilendirme uç noktasını alabilirsiniz.

// Line breaks for legibility only

https://login.microsoftonline.com/{tenant}/oauth2/authorize?
client_id=6731de76-14a6-49ae-97bc-6eba6914391e
&response_type=code
&redirect_uri=http%3A%2F%2Flocalhost%3A12345
&response_mode=query
&resource=https%3A%2F%2Fservice.contoso.com%2F
&state=12345
Parametre Türü Açıklama
kiracı Gerekli {tenant} İstek yolundaki değer, uygulamada kimlerin oturum açabileceğini denetlemek için kullanılabilir. İzin verilen değerler kiracı tanımlayıcılarıdır; örneğin, kiracıdan bağımsız belirteçler için 8eaef023-2b34-4da1-9baa-8bc8c9d6a490 veya contoso.onmicrosoft.com ya da common
müşteri_kimlik Gerekli Azure AD'ye kaydettiğinizde uygulamanıza atanan Uygulama Kimliği. Bunu Azure portalında bulabilirsiniz. Hizmetler kenar çubuğunda Azure Active Directory tıklayın, uygulama kayıtları tıklayın ve uygulamayı seçin.
yanıt_türü Gerekli Yetkilendirme kodu akışı için code dahil edilmelidir.
yönlendirme_uri önerilen Uygulamanızın redirect_uri'si, kimlik doğrulama yanıtlarının uygulamanız tarafından gönderilip alınabileceği yerdir. Portalda kaydettiğiniz redirect_uris'den biriyle, URL ile kodlanmış olması koşuluyla, tam olarak eşleşmelidir. Yerel & mobil uygulamalar için varsayılan https://login.microsoftonline.com/common/oauth2/nativeclientdeğerini kullanmalısınız.
yanıt_modu opsiyonel Sonuçta elde edilen belirteci uygulamanıza geri göndermek için kullanılacak yöntemi belirtir. , queryveya fragmentolabilirform_post. query, kodu yeniden yönlendirme URI'nizde sorgu dizesi parametresi olarak sağlar. Örtük akışı kullanarak bir kimlik belirteci talep ediyorsanız, OpenID belirtiminde belirtildiği gibi query kullanamazsınız. Sadece kod talep ediyorsanız, query, fragmentveya form_postkullanabilirsiniz. form_post, kodu yeniden yönlendirme URI'nize içeren bir POST yürütür. Varsayılan değer, kod akışı için query.
devlet önerilen İstekte bulunan ve belirteç yanıtında da döndürülen bir değer. Rastgele oluşturulan benzersiz bir değer genellikle siteler arası istek sahteciliği saldırılarını önlemek için kullanılır. Durum, kimlik doğrulaması isteği gerçekleşmeden önce kullanıcının uygulamadaki durumuyla ilgili bilgileri (örneğin, üzerinde bulunduğu sayfa veya görünüm) kodlamak için de kullanılır.
kaynak önerilen Hedef web API'sinin (güvenli kaynak) Uygulama Kimliği URI'si. Uygulama Kimliği URI'sini bulmak için Azure portalında Azure Active Directory 'e tıklayın, Uygulama kayıtları 'e tıklayın, uygulamanın Ayarlar sayfasını açın ve ardından özellikler tıklayın. https://graph.microsoft.comgibi bir dış kaynak da olabilir. Bu, yetkilendirme veya belirteç isteklerinden birinde gereklidir. Daha az kimlik doğrulama istemi almak için, yetkilendirme isteğine ekleyerek kullanıcının onayını aldığınızdan emin olun.
kapsam yoksayılan v1 Azure AD uygulamaları için kapsamlar, Azure portalında uygulamalar altında, Ayarlar, Gerekli İzinleraltında statik olarak yapılandırılmalıdır.
Uyarı opsiyonel Gerekli kullanıcı etkileşiminin türünü belirtin.

Geçerli değerler şunlardır:

oturum açma : Kullanıcıdan yeniden kimlik doğrulaması yapması istenmelidir.

select_account: Kullanıcıdan bir hesap seçerek çoklu oturum açmayı kesmesi istenir. Kullanıcı mevcut bir oturum açma hesabını seçebilir, hatırlanan bir hesap için kimlik bilgilerini girebilir veya tamamen farklı bir hesap kullanmayı seçebilir.

onay: Kullanıcı onayı verildi, ancak güncelleştirilmesi gerekiyor. Kullanıcıdan onay vermesi istenmelidir.

admin_consent: Bir yöneticiden kuruluşundaki tüm kullanıcılar adına onay vermesi istenmelidir

giriş_ipucu opsiyonel Kullanıcı kullanıcı adını önceden biliyorsanız, kullanıcının oturum açma sayfasının kullanıcı adı/e-posta adresi alanını önceden doldurmak için kullanılabilir. Uygulamalar, genellikle yeniden kimlik doğrulaması sırasında bu parametreyi kullanır; bu esnada, kullanıcı adını daha önce preferred_username talebini kullanarak yapılan bir oturum açmadan zaten ayıklamış olur.
domain_hint opsiyonel Kullanıcının oturum açmak için kullanması gereken kiracı veya etki alanı hakkında bir ipucu sağlar. domain_hint değeri kiracı için tanımlı bir etki alanıdır. Kiracı, şirket içi bir dizinle federasyona bağlıysa, Azure Active Directory belirtilen kiracı federasyon sunucusuna yeniden yönlendirir.
kod_meydan_okuma_yöntemi önerilen code_verifier parametresi için code_challenge kullanılan kodlama yöntemi. Seçenekler arasında plain veya S256olabilir. Dışlanırsa, code_challenge mevcutsa code_challenge düz metin olarak kabul edilir. Azure AAD v1.0 hem plain hem de S256destekler. Daha fazla bilgi için bkz . PKCE RFC.
kod meydan okuma önerilen Yerel veya genel istemciden Kod Değişimi için Proof Key (PKCE) aracılığıyla yetkilendirme kodu vermelerin güvenliğini sağlamak için kullanılır. code_challenge_method dahil edilirse gereklidir. Daha fazla bilgi için bkz . PKCE RFC.

Uyarı

Kullanıcı bir kuruluşun parçasıysa, kuruluşun yöneticisi kullanıcı adına onay verebilir veya reddedebilir ya da kullanıcının onay vermesine izin verebilir. Kullanıcıya yalnızca yönetici izin verdiği zaman onay verme seçeneği verilir.

Bu noktada kullanıcıdan kimlik bilgilerini girmesi ve Azure portalında uygulama tarafından istenen izinleri onaylaması istenir. Kullanıcı kimlik doğrulaması yaptıktan ve onay verdikten sonra Azure AD, isteğinizdeki redirect_uri adresinde kodla birlikte uygulamanıza bir yanıt gönderir.

Başarılı yanıt

Başarılı bir yanıt şöyle görünebilir:

GET  HTTP/1.1 302 Found
Location: http://localhost:12345/?code= AwABAAAAvPM1KaPlrEqdFSBzjqfTGBCmLdgfSTLEMPGYuNHSUYBrqqf_ZT_p5uEAEJJ_nZ3UmphWygRNy2C3jJ239gV_DBnZ2syeg95Ki-374WHUP-i3yIhv5i-7KU2CEoPXwURQp6IVYMw-DjAOzn7C3JCu5wpngXmbZKtJdWmiBzHpcO2aICJPu1KvJrDLDP20chJBXzVYJtkfjviLNNW7l7Y3ydcHDsBRKZc3GuMQanmcghXPyoDg41g8XbwPudVh7uCmUponBQpIhbuffFP_tbV8SNzsPoFz9CLpBCZagJVXeqWoYMPe2dSsPiLO9Alf_YIe5zpi-zY4C3aLw5g9at35eZTfNd0gBRpR5ojkMIcZZ6IgAA&session_state=7B29111D-C220-4263-99AB-6F6E135D75EF&state=D79E5777-702E-4260-9A62-37F75FF22CCE
Parametre Açıklama
yönetici_onayı Bir yönetici onay isteği istemini kabul ettiyse değer True olur.
kod Uygulamanın istediği yetkilendirme kodu. Uygulama, yetkilendirme kodunu kullanarak hedef kaynak için erişim belirteci isteyebilir.
oturum_durumu Geçerli kullanıcı oturumunu tanımlayan benzersiz bir değer. Bu değer bir GUID'dir, ancak inceleme yapılmadan geçirilen bir opak değer olarak kabul edilmelidir.
devlet İstekte bir durum parametresi varsa, yanıtta aynı değer görünmelidir. Uygulamanın, yanıtı kullanmadan önce istek ve yanıttaki durum değerlerinin aynı olduğunu doğrulaması iyi bir uygulamadır. Bu, istemciye Siteler Arası İstek Sahteciliği (CSRF) saldırılarını algılamaya yardımcı olur.

Hata yanıtı

Uygulamanın bunları uygun şekilde işleyebilmesi için hata yanıtları da redirect_uri gönderilebilir.

GET http://localhost:12345/?
error=access_denied
&error_description=the+user+canceled+the+authentication
Parametre Açıklama
hata OAuth 2.0 Authorization FrameworkBölüm 5.2'de tanımlanan hata kodu değeri. Sonraki tabloda Azure AD'nin döndürdüğü hata kodları açıklanmaktadır.
hata açıklaması Hatanın daha ayrıntılı bir açıklaması. Bu iletinin son kullanıcı dostu olması amaçlanmamıştır.
devlet Durum değeri, istekte gönderilen ve siteler arası istek sahteciliği (CSRF) saldırılarını önlemek için yanıtta döndürülen rastgele oluşturulmuş, yeniden kullanılmamış bir değerdir.

Yetkilendirme uç noktası hataları için hata kodları

Aşağıdaki tabloda, hata yanıtının parametresinde error döndürülebilecek çeşitli hata kodları açıklanmaktadır.

Hata Kodu Açıklama İstemci Eylemi
geçersiz_istek Gerekli parametre eksik gibi protokol hatası. İsteği düzeltin ve yeniden gönderin. Bu bir geliştirme hatasıdır ve genellikle ilk test sırasında yakalanılır.
yetkisiz_istemci İstemci uygulamasının yetkilendirme kodu istemesine izin verilmiyor. Bu durum genellikle istemci uygulaması Azure AD'ye kaydedilmediğinde veya kullanıcının Azure AD kiracısına eklenmediğinde oluşur. Uygulama, kullanıcıdan uygulamayı yükleme ve Azure AD'ye ekleme yönergelerini isteyebilir.
erişim reddedildi Kaynak sahibi onayı reddetti İstemci uygulaması, kullanıcı onay vermediği sürece devam edemeyeceğini kullanıcıya bildirebilir.
desteklenmeyen yanıt türü Yetkilendirme sunucusu istekteki yanıt türünü desteklemiyor. İsteği düzeltin ve yeniden gönderin. Bu bir geliştirme hatasıdır ve genellikle ilk test sırasında yakalanılır.
sunucu_hatası Sunucu beklenmeyen bir hatayla karşılaştı. İsteği yeniden deneyin. Bu hatalar geçici koşullardan kaynaklanabilir. İstemci uygulaması kullanıcıya geçici bir hata nedeniyle yanıtının geciktirildiğini açıklayabilir.
geçici olarak mevcut değil Sunucu geçici olarak isteği işleyemeyecek kadar meşgul. İsteği yeniden deneyin. İstemci uygulaması kullanıcıya yanıtının geçici bir koşul nedeniyle geciktirildiğini açıklayabilir.
geçersiz_kaynak Hedef kaynak mevcut olmadığından, Azure AD kaynağı bulamadığından veya doğru yapılandırılmadığından geçersiz. Bu, kaynak mevcutsa, kiracı ortamında yapılandırılmadığını gösterir. Uygulama, kullanıcıdan uygulamayı yükleme ve Azure AD'ye ekleme yönergelerini isteyebilir.

Erişim belirteci istemek için yetkilendirme kodunu kullanma

Artık bir yetkilendirme kodu aldığınıza ve kullanıcıdan izin aldıysanız, /token uç noktasına bir POST isteği göndererek istenen kaynağa erişmek için kodu bir erişim belirteciyle değiştirebilirsiniz.

// Line breaks for legibility only

POST /{tenant}/oauth2/token HTTP/1.1
Host: https://login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded
grant_type=authorization_code
&client_id=2d4d11a2-f814-46a7-890a-274a72a7309e
&code=AwABAAAAvPM1KaPlrEqdFSBzjqfTGBCmLdgfSTLEMPGYuNHSUYBrqqf_ZT_p5uEAEJJ_nZ3UmphWygRNy2C3jJ239gV_DBnZ2syeg95Ki-374WHUP-i3yIhv5i-7KU2CEoPXwURQp6IVYMw-DjAOzn7C3JCu5wpngXmbZKtJdWmiBzHpcO2aICJPu1KvJrDLDP20chJBXzVYJtkfjviLNNW7l7Y3ydcHDsBRKZc3GuMQanmcghXPyoDg41g8XbwPudVh7uCmUponBQpIhbuffFP_tbV8SNzsPoFz9CLpBCZagJVXeqWoYMPe2dSsPiLO9Alf_YIe5zpi-zY4C3aLw5g9at35eZTfNd0gBRpR5ojkMIcZZ6IgAA
&redirect_uri=https%3A%2F%2Flocalhost%3A12345
&resource=https%3A%2F%2Fservice.contoso.com%2F
&client_secret=p@ssw0rd

//NOTE: client_secret only required for web apps
Parametre Türü Açıklama
kiracı Gerekli {tenant} İstek yolundaki değer, uygulamada kimlerin oturum açabileceğini denetlemek için kullanılabilir. İzin verilen değerler kiracı tanımlayıcılarıdır; örneğin, kiracıdan bağımsız belirteçler için 8eaef023-2b34-4da1-9baa-8bc8c9d6a490 veya contoso.onmicrosoft.com ya da common
müşteri_kimlik Gerekli Azure AD'ye kaydettiğinizde uygulamanıza atanan Uygulama Kimliği. Bunu Azure portalında bulabilirsiniz. Uygulama Kimliği, uygulama kaydının ayarlarında görüntülenir.
izin_tipi Gerekli Yetkilendirme kodu akışı için authorization_code olmalıdır.
kod Gerekli Önceki bölümde elde ettiğiniz authorization_code
yönlendirme_uri Gerekli İstemci uygulamasına kaydedilmiş bir redirect_uri.
istemci_sırrı web uygulamaları için gerekli, genel istemciler için izin verilmiyor Azure portalında uygulamanız için Anahtarlaraltında oluşturmuş olduğunuz uygulama gizli anahtarı. Client_secrets cihazlarda güvenilir bir şekilde depolanamadığından yerel uygulamada (genel istemci) kullanılamaz. client_secret sunucu tarafında güvenli bir şekilde depolama özelliğine sahip web uygulamaları ve web API'leri (tüm gizli istemciler) için gereklidir. client_secret gönderilmeden önce URL ile kodlanmış olmalıdır.
kaynak önerilen Hedef web API'sinin (güvenli kaynak) Uygulama Kimliği URI'si. Uygulama Kimliği URI'sini bulmak için Azure portalında Azure Active Directory 'e tıklayın, Uygulama kayıtları 'e tıklayın, uygulamanın Ayarlar sayfasını açın ve ardından özellikler tıklayın. https://graph.microsoft.comgibi bir dış kaynak da olabilir. Bu, yetkilendirme veya belirteç isteklerinden birinde gereklidir. Daha az kimlik doğrulama istemi almak için, yetkilendirme isteğine ekleyerek kullanıcının onayını aldığınızdan emin olun. Hem yetkilendirme isteğinde hem de belirteç isteğindeyse, kaynağın parametreleri eşleşmelidir.
kod_dogrulayıcı opsiyonel Aynı "code_verifier", "authorization_code" elde etmek için kullanıldı. Yetkilendirme kodu verme isteğinde PKCE kullanıldıysa gereklidir. Daha fazla bilgi için bkz. PKCE RFC

Uygulama Kimliği URI'sini bulmak için Azure portalında Azure Active Directory 'e tıklayın, Uygulama kayıtları 'e tıklayın, uygulamanın Ayarlar sayfasını açın ve ardından özellikler tıklayın.

Başarılı yanıt

Azure AD, başarılı bir yanıt üzerine bir erişim belirteci döndürür. İstemci uygulamasından gelen ağ çağrılarını ve bunların ilişkili gecikme süresini en aza indirmek için, istemci uygulamasının OAuth 2.0 yanıtında belirtilen belirteç ömrü için erişim belirteçlerini önbelleğe alması gerekir. Belirteç ömrünü belirlemek için expires_in veya expires_on parametre değerlerini kullanın.

Bir web API'si kaynağı invalid_token hata kodu döndürürse bu, kaynağın belirtecin süresinin dolduğunu belirlediğini gösterebilir. İstemci ve kaynak saat saatleri farklıysa ("zaman dengesizliği" olarak bilinir), belirteç istemci önbelleğinden temizlenmeden önce belirtecin süresinin dolacağı kabul edilebilir. Bu durumda, hesaplanmış ömrü içinde olsa bile belirteci önbellekten temizleyin.

Başarılı bir yanıt şöyle görünebilir:

{
  "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5HVEZ2ZEstZnl0aEV1THdqcHdBSk9NOW4tQSJ9.eyJhdWQiOiJodHRwczovL3NlcnZpY2UuY29udG9zby5jb20vIiwiaXNzIjoiaHR0cHM6Ly9zdHMud2luZG93cy5uZXQvN2ZlODE0NDctZGE1Ny00Mzg1LWJlY2ItNmRlNTdmMjE0NzdlLyIsImlhdCI6MTM4ODQ0MDg2MywibmJmIjoxMzg4NDQwODYzLCJleHAiOjEzODg0NDQ3NjMsInZlciI6IjEuMCIsInRpZCI6IjdmZTgxNDQ3LWRhNTctNDM4NS1iZWNiLTZkZTU3ZjIxNDc3ZSIsIm9pZCI6IjY4Mzg5YWUyLTYyZmEtNGIxOC05MWZlLTUzZGQxMDlkNzRmNSIsInVwbiI6ImZyYW5rbUBjb250b3NvLmNvbSIsInVuaXF1ZV9uYW1lIjoiZnJhbmttQGNvbnRvc28uY29tIiwic3ViIjoiZGVOcUlqOUlPRTlQV0pXYkhzZnRYdDJFYWJQVmwwQ2o4UUFtZWZSTFY5OCIsImZhbWlseV9uYW1lIjoiTWlsbGVyIiwiZ2l2ZW5fbmFtZSI6IkZyYW5rIiwiYXBwaWQiOiIyZDRkMTFhMi1mODE0LTQ2YTctODkwYS0yNzRhNzJhNzMwOWUiLCJhcHBpZGFjciI6IjAiLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJhY3IiOiIxIn0.JZw8jC0gptZxVC-7l5sFkdnJgP3_tRjeQEPgUn28XctVe3QqmheLZw7QVZDPCyGycDWBaqy7FLpSekET_BftDkewRhyHk9FW_KeEz0ch2c3i08NGNDbr6XYGVayNuSesYk5Aw_p3ICRlUV1bqEwk-Jkzs9EEkQg4hbefqJS6yS1HoV_2EsEhpd_wCQpxK89WPs3hLYZETRJtG5kvCCEOvSHXmDE6eTHGTnEgsIk--UlPe275Dvou4gEAwLofhLDQbMSjnlV5VLsjimNBVcSRFShoxmQwBJR_b2011Y5IuD6St5zPnzruBbZYkGNurQK63TJPWmRd3mbJsGM0mf3CUQ",
  "token_type": "Bearer",
  "expires_in": "3600",
  "expires_on": "1388444763",
  "resource": "https://service.contoso.com/",
  "refresh_token": "AwABAAAAvPM1KaPlrEqdFSBzjqfTGAMxZGUTdM0t4B4rTfgV29ghDOHRc2B-C_hHeJaJICqjZ3mY2b_YNqmf9SoAylD1PycGCB90xzZeEDg6oBzOIPfYsbDWNf621pKo2Q3GGTHYlmNfwoc-OlrxK69hkha2CF12azM_NYhgO668yfcUl4VBbiSHZyd1NVZG5QTIOcbObu3qnLutbpadZGAxqjIbMkQ2bQS09fTrjMBtDE3D6kSMIodpCecoANon9b0LATkpitimVCrl-NyfN3oyG4ZCWu18M9-vEou4Sq-1oMDzExgAf61noxzkNiaTecM-Ve5cq6wHqYQjfV9DOz4lbceuYCAA",
  "scope": "https%3A%2F%2Fgraph.microsoft.com%2Fmail.read",
  "id_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJub25lIn0.eyJhdWQiOiIyZDRkMTFhMi1mODE0LTQ2YTctODkwYS0yNzRhNzJhNzMwOWUiLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83ZmU4MTQ0Ny1kYTU3LTQzODUtYmVjYi02ZGU1N2YyMTQ3N2UvIiwiaWF0IjoxMzg4NDQwODYzLCJuYmYiOjEzODg0NDA4NjMsImV4cCI6MTM4ODQ0NDc2MywidmVyIjoiMS4wIiwidGlkIjoiN2ZlODE0NDctZGE1Ny00Mzg1LWJlY2ItNmRlNTdmMjE0NzdlIiwib2lkIjoiNjgzODlhZTItNjJmYS00YjE4LTkxZmUtNTNkZDEwOWQ3NGY1IiwidXBuIjoiZnJhbmttQGNvbnRvc28uY29tIiwidW5pcXVlX25hbWUiOiJmcmFua21AY29udG9zby5jb20iLCJzdWIiOiJKV3ZZZENXUGhobHBTMVpzZjd5WVV4U2hVd3RVbTV5elBtd18talgzZkhZIiwiZmFtaWx5X25hbWUiOiJNaWxsZXIiLCJnaXZlbl9uYW1lIjoiRnJhbmsifQ."
}

Parametre Açıklama
erişim_token İstenen erişim belirteci. Bu opak bir dizedir; kaynağın ne almayı beklediğine bağlıdır ve istemcinin bakması amaçlanmamıştır. Uygulama, web API'si gibi güvenli kaynakta kimlik doğrulaması yapmak için bu belirteci kullanabilir.
belirteç_tipi Belirteç türü değerini gösterir. Azure AD'nin desteklediği tek tür Taşıyıcı'dır. Taşıyıcı belirteçleri hakkında daha fazla bilgi için bkz. OAuth2.0 Yetkilendirme Çerçevesi: Taşıyıcı Belirteç Kullanımı (RFC 6750)
süresi dolacak Erişim belirtecinin geçerli olduğu süre (saniye).
sona erme tarihi Erişim belirtecinin süresinin dolma zamanı. Tarih, son kullanma tarihine kadar 1970-01-01T0:0:0Z UTC arasındaki saniye sayısı olarak gösterilir. Bu değer, önbelleğe alınan belirteçlerin ömrünü belirlemek için kullanılır.
kaynak Web API'sinin Uygulama Kimliği URI'si (güvenli kaynak).
kapsam İstemci uygulamasına verilen kimliğe bürünme izinleri. Varsayılan izin user_impersonation'dir. Güvenli kaynağın sahibi Azure AD'ye ek değerler kaydedebilir.
yenileme_tokenu OAuth 2.0 yenileme belirteci. Uygulama, geçerli erişim belirtecinin süresi dolduktan sonra ek erişim belirteçleri almak için bu belirteci kullanabilir. Yenileme belirteçleri uzun sürelidir ve kaynaklara erişimi uzun süreler boyunca korumak için kullanılabilir.
kimlik belirteci (id_token) kimlik belirtecini temsil eden imzasız JSON Web Belirteci (JWT). Uygulama, oturum açan kullanıcı hakkında bilgi istemek için base64Url bu belirtecin segmentlerinin kodunu çözebilir. Uygulama, değerleri önbelleğe alabilir ve görüntüleyebilir, ancak herhangi bir yetkilendirme veya güvenlik sınırı için bunlara güvenmemelidir.

JSON web belirteçleri hakkında daha fazla bilgi için bkz. JWT IETF taslak belirtimi. id_tokenshakkında daha fazla bilgi edinmek için bkz. v1.0 OpenID Connect akışı.

Hata yanıtı

İstemci doğrudan belirteç verme uç noktasını çağırdığından, belirteç verme uç noktası hataları HTTP hata kodlarıdır. HTTP durum koduna ek olarak, Azure AD belirteci verme uç noktası da hatayı açıklayan nesneler içeren bir JSON belgesi döndürür.

Örnek bir hata yanıtı şöyle görünebilir:

{
  "error": "invalid_grant",
  "error_description": "AADSTS70002: Error validating credentials. AADSTS70008: The provided authorization code or refresh token is expired. Send a new interactive authorization request for this user and resource.\r\nTrace ID: 3939d04c-d7ba-42bf-9cb7-1e5854cdce9e\r\nCorrelation ID: a8125194-2dc8-4078-90ba-7b6592a7f231\r\nTimestamp: 2016-04-11 18:00:12Z",
  "error_codes": [
    70002,
    70008
  ],
  "timestamp": "2016-04-11 18:00:12Z",
  "trace_id": "3939d04c-d7ba-42bf-9cb7-1e5854cdce9e",
  "correlation_id": "a8125194-2dc8-4078-90ba-7b6592a7f231"
}
Parametre Açıklama
hata Oluşan hata türlerini sınıflandırmak için kullanılabilecek ve hatalara tepki vermek için kullanılabilen bir hata kodu dizesi.
hata açıklaması Bir geliştiricinin kimlik doğrulama hatasının kök nedenini belirlemesine yardımcı olabilecek belirli bir hata iletisi.
hata_kodları Tanılamada yardımcı olabilecek STS'ye özgü hata kodlarının listesi.
Zaman damgası Hatanın oluştuğu saat.
trace_id tanılamada yardımcı olabilecek istek için benzersiz bir tanımlayıcı.
korelasyon_kodu bileşenler arasında tanılamada yardımcı olabilecek istek için benzersiz bir tanımlayıcı.

HTTP durum kodları

Aşağıdaki tabloda, belirteç verme uç noktasının döndürdüğü HTTP durum kodları listelenmektedir. Bazı durumlarda, hata kodu yanıtı açıklamak için yeterlidir, ancak hatalar varsa, eşlik eden JSON belgesini ayrıştırıp hata kodunu incelemeniz gerekir.

HTTP Kodu Açıklama
400 Varsayılan HTTP kodu. Çoğu durumda kullanılır ve genellikle hatalı biçimlendirilmiş bir istekten kaynaklanır. İsteği düzeltin ve yeniden gönderin.
401 Kimlik doğrulaması başarısız oldu. Örneğin, istekte client_secret parametresi eksik.
403 Yetkilendirme başarısız oldu. Örneğin, kullanıcının kaynağa erişme izni yoktur.
beş yüz Hizmette bir iç hata oluştu. İsteği yeniden deneyin.

Belirteç uç noktası hataları için hata kodları

Hata Kodu Açıklama İstemci Eylemi
geçersiz_istek Gerekli parametre eksik gibi protokol hatası. İsteği düzeltme ve yeniden gönderme
geçersiz izin Yetkilendirme kodu geçersiz veya süresi doldu. /authorize uç noktasına yeni bir istek deneyin
yetkisiz_istemci Kimliği doğrulanmış istemcinin bu yetkilendirme verme türünü kullanma yetkisi yok. Bu durum genellikle istemci uygulaması Azure AD'ye kaydedilmediğinde veya kullanıcının Azure AD kiracısına eklenmediğinde oluşur. Uygulama, kullanıcıdan uygulamayı yükleme ve Azure AD'ye ekleme yönergelerini isteyebilir.
geçersiz_istemci İstemci kimlik doğrulaması başarısız oldu. İstemci kimlik bilgileri geçerli değil. Düzeltmek için uygulama yöneticisi kimlik bilgilerini güncelleştirir.
desteklenmeyen_hibe_türü Yetkilendirme sunucusu yetkilendirme verme türünü desteklemiyor. İstekteki verme türünü değiştirin. Bu tür bir hata yalnızca geliştirme sırasında oluşmalıdır ve ilk test sırasında algılanmalıdır.
geçersiz_kaynak Hedef kaynak mevcut olmadığından, Azure AD kaynağı bulamadığından veya doğru yapılandırılmadığından geçersiz. Bu, kaynak mevcutsa, kiracı ortamında yapılandırılmadığını gösterir. Uygulama, kullanıcıdan uygulamayı yükleme ve Azure AD'ye ekleme yönergelerini isteyebilir.
etkileşim_gerekli İstek için kullanıcı etkileşimi gerekir. Örneğin, ek bir kimlik doğrulama adımı gereklidir. Etkileşimli olmayan bir istek yerine, aynı kaynak için etkileşimli yetkilendirme isteğiyle yeniden deneyin.
geçici olarak mevcut değil Sunucu geçici olarak isteği işleyemeyecek kadar meşgul. İsteği yeniden deneyin. İstemci uygulaması kullanıcıya yanıtının geçici bir koşul nedeniyle geciktirildiğini açıklayabilir.

Kaynağa erişmek için erişim belirtecini kullanma

Başarıyla bir access_tokenaldığınıza göre, belirteci web API'lerine yönelik isteklerde Authorization üst bilgisine ekleyerek kullanabilirsiniz. RFC 6750 belirtimi, korunan kaynaklara erişmek için HTTP isteklerinde taşıyıcı belirteçlerin nasıl kullanılacağını açıklar.

Numune isteği

GET /data HTTP/1.1
Host: service.contoso.com
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5HVEZ2ZEstZnl0aEV1THdqcHdBSk9NOW4tQSJ9.eyJhdWQiOiJodHRwczovL3NlcnZpY2UuY29udG9zby5jb20vIiwiaXNzIjoiaHR0cHM6Ly9zdHMud2luZG93cy5uZXQvN2ZlODE0NDctZGE1Ny00Mzg1LWJlY2ItNmRlNTdmMjE0NzdlLyIsImlhdCI6MTM4ODQ0MDg2MywibmJmIjoxMzg4NDQwODYzLCJleHAiOjEzODg0NDQ3NjMsInZlciI6IjEuMCIsInRpZCI6IjdmZTgxNDQ3LWRhNTctNDM4NS1iZWNiLTZkZTU3ZjIxNDc3ZSIsIm9pZCI6IjY4Mzg5YWUyLTYyZmEtNGIxOC05MWZlLTUzZGQxMDlkNzRmNSIsInVwbiI6ImZyYW5rbUBjb250b3NvLmNvbSIsInVuaXF1ZV9uYW1lIjoiZnJhbmttQGNvbnRvc28uY29tIiwic3ViIjoiZGVOcUlqOUlPRTlQV0pXYkhzZnRYdDJFYWJQVmwwQ2o4UUFtZWZSTFY5OCIsImZhbWlseV9uYW1lIjoiTWlsbGVyIiwiZ2l2ZW5fbmFtZSI6IkZyYW5rIiwiYXBwaWQiOiIyZDRkMTFhMi1mODE0LTQ2YTctODkwYS0yNzRhNzJhNzMwOWUiLCJhcHBpZGFjciI6IjAiLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJhY3IiOiIxIn0.JZw8jC0gptZxVC-7l5sFkdnJgP3_tRjeQEPgUn28XctVe3QqmheLZw7QVZDPCyGycDWBaqy7FLpSekET_BftDkewRhyHk9FW_KeEz0ch2c3i08NGNDbr6XYGVayNuSesYk5Aw_p3ICRlUV1bqEwk-Jkzs9EEkQg4hbefqJS6yS1HoV_2EsEhpd_wCQpxK89WPs3hLYZETRJtG5kvCCEOvSHXmDE6eTHGTnEgsIk--UlPe275Dvou4gEAwLofhLDQbMSjnlV5VLsjimNBVcSRFShoxmQwBJR_b2011Y5IuD6St5zPnzruBbZYkGNurQK63TJPWmRd3mbJsGM0mf3CUQ

Hata Yanıtı

RFC 6750 uygulayan güvenli kaynaklar HTTP durum kodları yayımlar. Yanıt, istek kimlik doğrulama bilgilerini içermiyorsa veya belirteç eksikse bir WWW-Authenticate üst bilgisi içerir. İstek başarısız olduğunda, kaynak sunucusu HTTP durum kodu ve hata koduyla yanıt verir.

İstemci isteği taşıyıcı belirtecini içermediğinde başarısız bir yanıt örneği aşağıda verilmiştir:

HTTP/1.1 401 Unauthorized
WWW-Authenticate: Bearer authorization_uri="https://login.microsoftonline.com/contoso.com/oauth2/authorize",  error="invalid_token",  error_description="The access token is missing.",

Hata parametreleri

Parametre Açıklama
yetkilendirme_uri Yetkilendirme sunucusunun URI'sini (fiziksel uç nokta). Bu değer, bulma uç noktasından sunucu hakkında daha fazla bilgi almak için arama anahtarı olarak da kullanılır.

İstemci, yetkilendirme sunucusunun güvenilir olduğunu doğrulamalıdır. Kaynak Azure AD tarafından korunduğunda, URL'nin https://login.microsoftonline.com veya Azure AD'nin desteklediği başka bir ana bilgisayar adıyla başladığını doğrulamak yeterlidir. Kiracıya özgü bir kaynak her zaman kiracıya özgü bir yetkilendirme URI'si döndürmelidir.

hata OAuth 2.0 Authorization FrameworkBölüm 5.2'de tanımlanan hata kodu değeri.
hata açıklaması Hatanın daha ayrıntılı bir açıklaması. Bu iletinin son kullanıcı dostu olması amaçlanmamıştır.
kaynak_kimliği Kaynağın benzersiz tanımlayıcısını döndürür. İstemci uygulaması, kaynak için belirteç istediğinde resource parametresinin değeri olarak bu tanımlayıcıyı kullanabilir.

İstemci uygulamasının bu değeri doğrulaması önemlidir, aksi takdirde kötü amaçlı bir hizmet ayrıcalık yükseltme saldırısına neden olabilir

Bir saldırıyı önlemeye yönelik önerilen strateji, resource_id erişilen web API'si URL'sinin tabanıyla eşleştiğini doğrulamaktır. Örneğin, https://service.contoso.com/data erişildiğinde, resource_idhttps://service.contoso.com/olabilir. kimlik doğrulamanın güvenilir bir alternatif yolu olmadığı sürece istemci uygulamasının temel URL ile başlamayan bir resource_id reddetmesi gerekir.

Taşıyıcı şeması hata kodları

RFC 6750 belirtimi, yanıtta WWW-Authenticate üst bilgisini ve Bearer şemasını kullanan kaynaklar için aşağıdaki hataları tanımlar.

HTTP Durum Kodu Hata Kodu Açıklama İstemci Eylemi
400 geçersiz_istek İstek iyi biçimlendirilmemiş. Örneğin, bir parametre eksik olabilir veya aynı parametreyi iki kez kullanıyor olabilir. Hatayı düzeltin ve isteği yeniden deneyin. Bu tür bir hata yalnızca geliştirme sırasında oluşmalıdır ve ilk testte algılanmalıdır.
401 geçersiz_jeton Erişim belirteci eksik, geçersiz veya iptal edilmiş. error_description parametresinin değeri ek ayrıntılar sağlar. Yetkilendirme sunucusundan yeni bir belirteç isteyin. Yeni belirteç başarısız olursa beklenmeyen bir hata oluşur. Kullanıcıya bir hata iletisi gönderin ve rastgele gecikmelerden sonra yeniden deneyin.
403 yetersiz_kapsam Erişim belirteci kaynağa erişmek için gereken kimliğe bürünme izinlerini içermez. Yetkilendirme uç noktasına yeni bir yetkilendirme isteği gönderin. Yanıt kapsam parametresini içeriyorsa, kaynağa yapılan istekteki kapsam değerini kullanın.
403 yetersiz erişim Belirtecin konusu kaynağa erişmek için gereken izinlere sahip değil. Kullanıcıdan farklı bir hesap kullanmasını veya belirtilen kaynak için izin istemesini isteyin.

Erişim belirteçlerini yenileme

Erişim Belirteçleri kısa sürelidir ve kaynaklara erişmeye devam etmek için süresi dolduktan sonra yenilenmelidir. access_token uç noktasına başka bir POST isteği göndererek ancak bu kez /tokenyerine refresh_token sağlayarak code yenileyebilirsiniz. Yenileme belirteçleri, istemcinize erişim izni verilmiş olan tüm kaynaklar için geçerlidir. Bu nedenle, resource=https://graph.microsoft.com isteğinde verilen yenileme belirteci resource=https://contoso.com/apiiçin yeni bir erişim belirteci istemek için kullanılabilir.

Yenileme belirteçleri belirtilen yaşam süresine sahip değil. Genellikle yenileme belirteçlerinin kullanım ömrü nispeten uzun olur. Ancak bazı durumlarda yenileme belirteçlerinin süresi dolar, iptal edilir veya istenen eylem için yeterli ayrıcalıklar eksik olur. Uygulamanızın belirteç verme uç noktası tarafından döndürülen hataları doğru şekilde beklemesi ve işlemesi gerekir.

Yenileme belirteci hatası içeren bir yanıt aldığınızda, geçerli yenileme belirtecini atın ve yeni bir yetkilendirme kodu veya erişim belirteci isteyin. Özellikle, Yetkilendirme Kodu Verme akışında yenileme belirteci kullanırken, interaction_required veya invalid_grant hata kodlarıyla bir yanıt alırsanız yenileme belirtecini atın ve yeni bir yetkilendirme kodu isteyin.

Yenileme belirtecini kullanarak yeni bir erişim belirteci almak için kiracıya özel uç noktasına bir örnek istek şöyle yapılabilir (aynı zamanda ortak uç noktasını da kullanabilirsiniz):

// Line breaks for legibility only

POST /{tenant}/oauth2/token HTTP/1.1
Host: https://login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded

client_id=6731de76-14a6-49ae-97bc-6eba6914391e
&refresh_token=OAAABAAAAiL9Kn2Z27UubvWFPbm0gLWQJVzCTE9UkP3pSx1aXxUjq...
&grant_type=refresh_token
&resource=https%3A%2F%2Fservice.contoso.com%2F
&client_secret=JqQX2PNo9bpM0uEihUPzyrh    // NOTE: Only required for web apps

Başarılı yanıt

Başarılı bir belirteç yanıtı şöyle görünür:

{
  "token_type": "Bearer",
  "expires_in": "3600",
  "expires_on": "1460404526",
  "resource": "https://service.contoso.com/",
  "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5HVEZ2ZEstZnl0aEV1THdqcHdBSk9NOW4tQSJ9.eyJhdWQiOiJodHRwczovL3NlcnZpY2UuY29udG9zby5jb20vIiwiaXNzIjoiaHR0cHM6Ly9zdHMud2luZG93cy5uZXQvN2ZlODE0NDctZGE1Ny00Mzg1LWJlY2ItNmRlNTdmMjE0NzdlLyIsImlhdCI6MTM4ODQ0MDg2MywibmJmIjoxMzg4NDQwODYzLCJleHAiOjEzODg0NDQ3NjMsInZlciI6IjEuMCIsInRpZCI6IjdmZTgxNDQ3LWRhNTctNDM4NS1iZWNiLTZkZTU3ZjIxNDc3ZSIsIm9pZCI6IjY4Mzg5YWUyLTYyZmEtNGIxOC05MWZlLTUzZGQxMDlkNzRmNSIsInVwbiI6ImZyYW5rbUBjb250b3NvLmNvbSIsInVuaXF1ZV9uYW1lIjoiZnJhbmttQGNvbnRvc28uY29tIiwic3ViIjoiZGVOcUlqOUlPRTlQV0pXYkhzZnRYdDJFYWJQVmwwQ2o4UUFtZWZSTFY5OCIsImZhbWlseV9uYW1lIjoiTWlsbGVyIiwiZ2l2ZW5fbmFtZSI6IkZyYW5rIiwiYXBwaWQiOiIyZDRkMTFhMi1mODE0LTQ2YTctODkwYS0yNzRhNzJhNzMwOWUiLCJhcHBpZGFjciI6IjAiLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJhY3IiOiIxIn0.JZw8jC0gptZxVC-7l5sFkdnJgP3_tRjeQEPgUn28XctVe3QqmheLZw7QVZDPCyGycDWBaqy7FLpSekET_BftDkewRhyHk9FW_KeEz0ch2c3i08NGNDbr6XYGVayNuSesYk5Aw_p3ICRlUV1bqEwk-Jkzs9EEkQg4hbefqJS6yS1HoV_2EsEhpd_wCQpxK89WPs3hLYZETRJtG5kvCCEOvSHXmDE6eTHGTnEgsIk--UlPe275Dvou4gEAwLofhLDQbMSjnlV5VLsjimNBVcSRFShoxmQwBJR_b2011Y5IuD6St5zPnzruBbZYkGNurQK63TJPWmRd3mbJsGM0mf3CUQ",
  "refresh_token": "AwABAAAAv YNqmf9SoAylD1PycGCB90xzZeEDg6oBzOIPfYsbDWNf621pKo2Q3GGTHYlmNfwoc-OlrxK69hkha2CF12azM_NYhgO668yfcUl4VBbiSHZyd1NVZG5QTIOcbObu3qnLutbpadZGAxqjIbMkQ2bQS09fTrjMBtDE3D6kSMIodpCecoANon9b0LATkpitimVCrl PM1KaPlrEqdFSBzjqfTGAMxZGUTdM0t4B4rTfgV29ghDOHRc2B-C_hHeJaJICqjZ3mY2b_YNqmf9SoAylD1PycGCB90xzZeEDg6oBzOIPfYsbDWNf621pKo2Q3GGTHYlmNfwoc-OlrxK69hkha2CF12azM_NYhgO668yfmVCrl-NyfN3oyG4ZCWu18M9-vEou4Sq-1oMDzExgAf61noxzkNiaTecM-Ve5cq6wHqYQjfV9DOz4lbceuYCAA"
}
Parametre Açıklama
belirteç_tipi Jeton türü. Desteklenen tek değer taşıyıcıdeğeridir.
süresi dolacak Belirtecin kalan ömrü saniye cinsinden. Tipik bir değer 3600'dür (bir saat).
sona erme tarihi Belirtecin geçerlilik süresinin sona erdiği tarih ve saat. Tarih, son kullanma tarihine kadar 1970-01-01T0:0:0Z UTC arasındaki saniye sayısı olarak gösterilir.
kaynak Erişim belirtecinin erişmek için kullanabileceği güvenli kaynağı tanımlar.
kapsam Yerel istemci uygulamasına kimliğe bürünme izni verildi. Varsayılan izin, user_impersonation'dir. Hedef kaynağın sahibi Azure AD'ye alternatif değerler kaydedebilir.
erişim_token İstenen yeni erişim belirteci.
yenileme_tokenu Bu yanıttaki belirteçlerin süresi dolduğunda yeni erişim belirteçleri istemek için kullanılabilecek yeni bir OAuth 2.0 refresh_token.

Hata yanıtı

Örnek bir hata yanıtı şöyle görünebilir:

{
  "error": "invalid_resource",
  "error_description": "AADSTS50001: The application named https://foo.microsoft.com/mail.read was not found in the tenant named 295e01fc-0c56-4ac3-ac57-5d0ed568f872. This can happen if the application has not been installed by the administrator of the tenant or consented to by any user in the tenant. You might have sent your authentication request to the wrong tenant.\r\nTrace ID: ef1f89f6-a14f-49de-9868-61bd4072f0a9\r\nCorrelation ID: b6908274-2c58-4e91-aea9-1f6b9c99347c\r\nTimestamp: 2016-04-11 18:59:01Z",
  "error_codes": [
    50001
  ],
  "timestamp": "2016-04-11 18:59:01Z",
  "trace_id": "ef1f89f6-a14f-49de-9868-61bd4072f0a9",
  "correlation_id": "b6908274-2c58-4e91-aea9-1f6b9c99347c"
}
Parametre Açıklama
hata Oluşan hata türlerini sınıflandırmak için kullanılabilecek ve hatalara tepki vermek için kullanılabilen bir hata kodu dizesi.
hata açıklaması Bir geliştiricinin kimlik doğrulama hatasının kök nedenini belirlemesine yardımcı olabilecek belirli bir hata iletisi.
hata_kodları Tanılamada yardımcı olabilecek STS'ye özgü hata kodlarının listesi.
Zaman damgası Hatanın oluştuğu saat.
trace_id tanılamada yardımcı olabilecek istek için benzersiz bir tanımlayıcı.
korelasyon_kodu bileşenler arasında tanılamada yardımcı olabilecek istek için benzersiz bir tanımlayıcı.

Hata kodlarının ve önerilen istemci eylemlerinin açıklaması için, Belirteç uç noktası hataları için hata kodları başlığına bakın.

Sonraki adımlar

Azure AD v1.0 uç noktası ve web uygulamalarınıza ve web API'lerinize kimlik doğrulaması ve yetkilendirme ekleme hakkında daha fazla bilgi edinmek için bkz. örnek uygulamalar.