Microsoft kimlik platformu ve OAuth 2.0 örtük izin akışı
Microsoft kimlik platformu, OAuth 2.0 Belirtiminde açıklandığı gibi OAuth 2.0 örtük izin akışını destekler. Örtük vermenin tanımlayıcı özelliği, belirteçlerin (kimlik belirteçleri veya erişim belirteçleri) /token uç noktası yerine doğrudan /authorize uç noktasından döndürülür. Bu genellikle yetkilendirme kodu akışının bir parçası olarak kullanılır ve "karma akış" olarak adlandırılır. Kimlik belirtecini bir yetkilendirme koduyla birlikte /authorize isteğinde alır.
Bu makalede, Microsoft Entra Id'den belirteç istemek için uygulamanızdaki protokole karşı doğrudan programlama açıklanmaktadır. Mümkün olduğunda, belirteçleri almak ve güvenli web API'lerini çağırmak için bunun yerine desteklenen Microsoft Kimlik Doğrulama Kitaplıklarını (MSAL) kullanmanızı öneririz. MSAL kullanan kod örneklerinin listesi için Microsoft kimlik platformu kod örneklerine bakın.
Uyarı
Microsoft örtük verme akışını kullanmamanızı önerir. Çoğu senaryoda daha güvenli alternatifler kullanılabilir ve önerilir. Bu akışın belirli yapılandırmaları, uygulamada çok yüksek düzeyde güven gerektirir ve diğer akışlarda mevcut olmayan riskleri taşır. Bu akışı yalnızca diğer daha güvenli akışlar uygun olmadığında kullanmalısınız. Daha fazla bilgi için örtük izin akışıyla ilgili güvenlik endişelerine bakın.
Protokol diyagramı
Aşağıdaki diyagramda örtük oturum açma akışının tamamının nasıl göründüğü ve izleyen bölümlerde her adım ayrıntılı olarak açıklanmaktadır.
OAuth2 örtük izni için uygun senaryolar
Örtük izin, üçüncü taraf tanımlama bilgilerinin olmamasının uygulamanızı etkilemediği oturum açma akışınızın yalnızca ilk, etkileşimli bölümü için güvenilirdir. Bu sınırlama, bunu yalnızca uygulamanızın yetkilendirme uç noktasından bir kod ve belirteç istediği karma akışın bir parçası olarak kullanmanız gerektiği anlamına gelir. Karma akışta uygulamanız yenileme belirteci için kullanılabilecek bir kod alır ve böylece uygulamanızın oturum açma oturum açma oturumlarının zaman içinde geçerli kalmasını sağlar.
Kimlik doğrulama kod akışını tercih edin
Bazı tarayıcıların üçüncü taraf tanımlama bilgileri desteğini kaldırmasıyla birlikte örtük verme akışı artık uygun bir kimlik doğrulama yöntemi değildir. Örtük akışın sessiz çoklu oturum açma (SSO) özellikleri üçüncü taraf tanımlama bilgileri olmadan çalışmaz ve yeni bir belirteç almaya çalıştıklarında uygulamaların bozulmasına neden olur. Tüm yeni uygulamaların örtük akış yerine artık tek sayfalı uygulamaları destekleyen yetkilendirme kodu akışını kullanmasını kesinlikle öneririz. Mevcut tek sayfalı uygulamalar da yetkilendirme kodu akışına geçirilmelidir.
Örtük izin akışıyla ilgili güvenlik endişeleri
Örtük verme akışı, sunucunun POST verilerini güvenli bir şekilde işleme denetimine sahip olduğu geleneksel web uygulamalarına yöneliktir. Örtük verme akışıyla belirteçleri teslim etmenin iki ana yolu vardır: burada response_mode
URL parçası veya sorgu parametresi olarak döndürülür (ve GET
kullanılarakform POST
). örtük akışta response_mode=form_post
, belirtecin istemcinin yeniden yönlendirme URI'sine bir HTML formu POST aracılığıyla güvenli bir şekilde teslim edilir. Bu yöntem, belirtecin URL parçasında gösterilmemesini sağlar ve bu da tarayıcı geçmişi veya başvuran üst bilgileri aracılığıyla belirteç sızıntısı riskini önler.
Örtük akışla ilgili güvenlik endişeleri, belirteçler kullanılarak response_mode=fragment
teslim edildiğinde ortaya çıkar. URL parçası, URL'nin simgeden #
sonra gelen bölümüdür ve tarayıcı yeni bir sayfa istediğinde sunucuya gönderilmez, ancak tarayıcıda çalışan JavaScript tarafından kullanılabilir. Bu, belirtecin sayfada çalışan herhangi bir JavaScript'e açık olduğu anlamına gelir ve bu, sayfada üçüncü taraf betikler varsa güvenlik riski olabilir. SPA'lardaki belirteçlerle ilgili bu güvenlik endişeleri ile form POST
örtük akış için de geçerli değildir.
Örtük verme veya karma akış kullanılarak istendiğinde erişim belirtecinin veya kimlik belirtecinin verilmesine ne zaman izin vermelisiniz?
Örtük verme ve karma akış, diğer OAuth akışları kadar güvenli değildir. Kesinlikle gerekli olmadığı sürece, uygulama kaydınızda örtük verme veya karma akış kullanılarak istendiğinde erişim veya kimlik belirtecinin verilmesine izin vermemelisiniz. Siz (veya geliştiricileriniz) kimlik doğrulaması ve yetkilendirme uygulamak için uygulamanızda MSAL kullanıyorsanız, hiçbir alanın etkinleştirilmemesi gerekir.
Ancak, siz (veya geliştiricileriniz) uygulamanızda MSAL kullanmıyorsanız, erişim belirteçlerinin veya kimlik belirtecinin ne zaman etkinleştirileceği aşağıdaki tabloda özetlenmiştir.
Oluşturduğunuz uygulama türü | Uygulama Kaydı'nda etkinleştirmeniz gereken belirteçler |
---|---|
PKCE ile yetkilendirme kodu akışını kullanmayan bir SPA (tek sayfalı uygulama) | Erişim belirteçleri ve kimlik belirteçleri |
Örtük akış kullanarak JavaScript aracılığıyla bir web API'si çağıran bir web veya SPA uygulaması | Erişim belirteçleri ve kimlik belirteçleri |
Karma kimlik doğrulaması kullanan bir ASP.NET Core web uygulaması ve diğer web uygulamaları | Kimlik belirteçleri |
Oturum açma isteğini gönderme
Başlangıçta kullanıcıyı uygulamanızda oturum açmak için bir OpenID Connect kimlik doğrulama isteği gönderebilir ve id_token
Microsoft kimlik platformu alabilirsiniz.
Önemli
Kimlik belirtecini ve/veya erişim belirtecini başarıyla istemek için, Microsoft Entra yönetim merkezi - Uygulama kayıtları sayfasındaki uygulama kaydında, Örtük izin ve karma akışlar bölümünde Kimlik belirteçleri ve erişim belirteçleri seçilerek ilgili örtük izin akışı etkinleştirilmelidir. Etkinleştirilmemişse bir unsupported_response
hata döndürülür:
The provided value for the input parameter 'response_type' is not allowed for this client. Expected value is 'code'
// Line breaks for legibility only
https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize?
client_id=00001111-aaaa-2222-bbbb-3333cccc4444
&response_type=id_token
&redirect_uri=http%3A%2F%2Flocalhost%2Fmyapp%2F
&scope=openid
&response_mode=fragment
&state=12345
&nonce=678910
Parametre | Tür | Açıklama |
---|---|---|
tenant |
Gerekli | {tenant} İstek yolundaki değer, uygulamada kimlerin oturum açabileceğini denetlemek için kullanılabilir. İzin verilen değerler , organizations , consumers ve kiracı tanımlayıcılarıdırcommon . Daha fazla ayrıntı için bkz . protokolle ilgili temel bilgiler. Kritik olarak, bir kullanıcıyı bir kiracıdan başka bir kiracıya imzaladığınız konuk senaryoları için, bu kullanıcıyı kaynak kiracıda doğru şekilde oturum açmak için kiracı tanımlayıcısını sağlamanız gerekir . |
client_id |
Gerekli | Microsoft Entra yönetim merkezi - Uygulama kayıtları sayfasının uygulamanıza atandığı Uygulama (istemci) kimliği. |
response_type |
Gerekli | OpenID Connect oturum açma için dahil id_token edilmelidir. Ayrıca response_type , içerebilir token . Burada kullanmak token , uygulamanızın /authorize uç noktasına ikinci bir istekte bulunmak zorunda kalmadan /authorize uç noktasından hemen erişim belirteci almasını sağlar. response_type kullanırsanız token parametresi, scope belirteci hangi kaynak için düzenleyebileceğinizi belirten bir kapsam içermelidir (örneğin, user.read Microsoft Graph'ta). Ayrıca yetkilendirme kodu akışında kullanmak üzere bir yetkilendirme kodu sağlama yerine token de içerebilircode . Bu id_token +code yanıt bazen karma akış olarak adlandırılır. |
redirect_uri |
Önerilen | Uygulamanızda kimlik doğrulama yanıtlarının gönderildiği ve alındığı uygulamanızın yeniden yönlendirme URI'si. Url ile kodlanmış olması dışında, Microsoft Entra yönetim merkezine kaydettiğiniz yeniden yönlendirme URI'lerinden biriyle tam olarak eşleşmelidir. |
scope |
Gerekli | Boşlukla ayrılmış kapsam listesi. OpenID Connect ()id_tokens için, onay kullanıcı arabirimindeki "Oturum açın" iznine çevrilen kapsamını openid içermelidir. İsteğe bağlı olarak, ek kullanıcı verilerine email erişim elde etmek için ve profile kapsamlarını da dahil etmek isteyebilirsiniz. Erişim belirteci istenirse, çeşitli kaynaklara onay istemek için bu isteğe başka kapsamlar da ekleyebilirsiniz. |
response_mode |
Önerilen | Sonuçta elde edilen belirteci uygulamanıza geri göndermek için kullanılacak yöntemi belirtir. query Yalnızca erişim belirteci için varsayılan olarak kullanılır, ancak fragment istek bir id_token içeriyorsa. Güvenlik nedeniyle, belirtecin URL parçasında gösterilmediğinden emin olmak için örtük akış için kullanılması form_post önerilir. |
state |
Önerilen | İstekte yer alan bir değer de belirteç yanıtında döndürülür. İstediğiniz herhangi bir içeriğin dizesi olabilir. 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. |
nonce |
Gerekli | İstekte yer alan ve uygulama tarafından oluşturulan ve sonuçta elde edilen kimlik belirtecinde talep olarak bulunan bir değer. Uygulama daha sonra belirteç yeniden yürütme saldırılarını azaltmak için bu değeri doğrulayabilir. Değeri genellikle isteğin kaynağını tanımlamak için kullanılabilecek rastgele, benzersiz bir dizedir. Yalnızca bir id_token istendiğinde gereklidir. |
prompt |
opsiyonel | Gerekli kullanıcı etkileşiminin türünü gösterir. Şu anda tek geçerli değerler , , none select_account ve consent değerleridirlogin . prompt=login kullanıcıyı bu istekte kimlik bilgilerini girmeye zorlayarak çoklu oturum açma işlemini olumsuz olarak kabul eder. prompt=none tam tersidir; kullanıcıya herhangi bir etkileşimli istem sunulmamasını sağlar. İstek SSO aracılığıyla sessizce tamamlanamazsa Microsoft kimlik platformu bir hata döndürür. prompt=select_account kullanıcıyı oturumda anımsanan tüm hesapların göründüğü bir hesap seçiciye gönderir. prompt=consent kullanıcı oturum açtığında OAuth onayı iletişim kutusunu tetikler ve kullanıcıdan uygulamaya izin vermesini ister. |
login_hint |
opsiyonel | Kullanıcı adını önceden biliyorsanız, kullanıcının oturum açma sayfasının kullanıcı adı ve e-posta adresi alanını önceden doldurmak için bu parametreyi kullanabilirsiniz. Genellikle, uygulamalar önceden bir oturum açmadan isteğe bağlı talebi ayıkladıktan sonra yeniden kimlik doğrulaması sırasında bu parametreyi login_hint kullanır. |
domain_hint |
opsiyonel | Dahil edilirse, kullanıcının oturum açma sayfasından geçtiği e-posta tabanlı bulma işlemini atlar ve bu da biraz daha kolay bir kullanıcı deneyimine yol açar. Bu parametre genellikle tek bir kiracıda çalışan ve belirli bir kiracı içinde etki alanı adı sağlayan ve kullanıcıyı söz konusu kiracının federasyon sağlayıcısına yönlendiren İş Kolu uygulamaları için kullanılır. Bu ipucu, konukların bu uygulamada oturum açmasını engeller ve FIDO gibi bulut kimlik bilgilerinin kullanımını sınırlar. |
Bu noktada kullanıcıdan kimlik bilgilerini girmesi ve kimlik doğrulamasını tamamlaması istenir. Microsoft kimlik platformu, kullanıcının sorgu parametresinde belirtilen izinlere onay verdiğinden scope
emin olunmasını sağlar. Kullanıcı bu izinlerden hiçbirini onaylamadıysa, kullanıcıdan gerekli izinleri onaylamasını ister. Daha fazla bilgi için bkz . İzinler, onay ve çok kiracılı uygulamalar.
Kullanıcı kimlik doğrulaması yapıp onay verdikten sonra, Microsoft kimlik platformu parametresinde response_mode
belirtilen yöntemi kullanarak belirtilen redirect_uri
konumunda uygulamanıza bir yanıt döndürür.
Başarılı yanıt
ve kullanarak response_mode=fragment
response_type=id_token+code
başarılı bir yanıt aşağıdaki gibi görünür (okunabilirlik için satır sonları ile):
GET https://localhost/myapp/#
code=0.AgAAktYV-sfpYESnQynylW_UKZmH-C9y_G1A
&id_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5HVEZ2ZEstZnl0aEV1Q...
&state=12345
Parametre | Açıklama |
---|---|
code |
dahilse response_type dahil.code Yetkilendirme kodu akışında kullanıma uygun bir yetkilendirme kodudur. |
access_token |
dahilse response_type dahil.token Uygulamanın istediği erişim belirteci. Erişim belirtecinin kodu çözülmeyecek veya başka bir şekilde incelenmemeli, opak bir dize olarak kabul edilmelidir. |
token_type |
dahilse response_type dahil.token Bu her zaman bir Bearer . |
expires_in |
dahilse response_type dahil.token Önbelleğe alma amacıyla belirtecin geçerli olduğu saniye sayısını gösterir. |
scope |
dahilse response_type dahil.token geçerli olduğu access_token bir veya daha fazla kapsamı gösterir. Kullanıcı için geçerli değilse, istenen tüm kapsamları içermeyebilir. Örneğin, kişisel bir hesap kullanarak oturum açarken istenen Microsoft Entra-only kapsamları. |
id_token |
İmzalı JSON Web Belirteci (JWT). Uygulama, oturum açan kullanıcı hakkında bilgi istemek için 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. Kimlik belirteçleri hakkında daha fazla bilgi için bkz id_token reference . . Not: Yalnızca kapsam istendiyse ve response_type dahil id_tokens edildiyse openid sağlanır. |
state |
İstekte bir durum parametresi varsa, yanıtta aynı değer görünmelidir. Uygulama, istek ve yanıttaki durum değerlerinin aynı olduğunu doğrulamalıdır. |
Uyarı
Bu örnekteki belirteçler de dahil olmak üzere sahip olmadığınız API'lerin belirteçlerini kodunuzda doğrulamayı veya okumayı denemeyin. Microsoft hizmetleri belirteçleri JWT olarak doğrulanmayacak özel bir biçim kullanabilir ve tüketici (Microsoft hesabı) kullanıcıları için de şifrelenebilir. Belirteçleri okumak yararlı bir hata ayıklama ve öğrenme aracı olsa da, kodunuzda buna bağımlılıkları almayın veya denetlediğiniz bir API için olmayan belirteçlerle ilgili belirli bilgileri varsaymayın.
Hata yanıtı
Hata yanıtları da uygulamasına redirect_uri
gönderilerek uygulamanın bunları uygun şekilde işleyebilmesini sağlayabilir:
GET https://localhost/myapp/#
error=access_denied
&error_description=the+user+canceled+the+authentication
Parametre | Açıklama |
---|---|
error |
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. |
error_description |
Bir geliştiricinin kimlik doğrulama hatasının kök nedenini belirlemesine yardımcı olabilecek belirli bir hata iletisi. |
Erişim belirteçlerini sessizce alma
Artık kullanıcınız tek sayfalı uygulamanızda oturum açtığına göre, Microsoft Graph gibi Microsoft kimlik platformu tarafından güvenliği sağlanan web API'lerini çağırmak için sessizce erişim belirteçleri alabilirsiniz. response_type kullanarak token
bir belirteç aldıysanız bile, kullanıcıyı yeniden oturum açmaya yönlendirmeden ek kaynaklara belirteç almak için bu yöntemi kullanabilirsiniz.
Önemli
Örtük akışın bu bölümü, üçüncü taraf tanımlama bilgilerinin varsayılan olarak kaldırılması nedeniyle farklı tarayıcılarda kullanıldığından uygulamanız için çalışma olasılığı düşüktür. Bu, şu anda Gizli'de olmayan Chromium tabanlı tarayıcılarda çalışmaya devam etse de, geliştiricilerin akışın bu bölümünü kullanmayı yeniden düşünmesi gerekir. Üçüncü taraf tanımlama bilgilerini desteklemeyen tarayıcılarda, oturum açma sayfasının oturum tanımlama bilgileri tarayıcı tarafından kaldırıldığından hiçbir kullanıcının oturum açmadığını belirten bir hata alırsınız.
Normal OpenID Connect/OAuth akışında, Microsoft kimlik platformu /token
uç noktasına bir istekte bulunarak bunu yapabilirsiniz. Diğer web API'leri için yeni belirteçler almak için gizli bir iframe'de istekte bulunabilirsiniz:
// Line breaks for legibility only
https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize?
client_id=00001111-aaaa-2222-bbbb-3333cccc4444&response_type=token
&redirect_uri=http%3A%2F%2Flocalhost%2Fmyapp%2F
&scope=https%3A%2F%2Fgraph.microsoft.com%2Fuser.read
&response_mode=fragment
&state=12345
&nonce=678910
&prompt=none
&login_hint=myuser@mycompany.com
URL'deki sorgu parametreleriyle ilgili ayrıntılar için bkz . Oturum açma isteğini gönderme.
Bahşiş
Gerçek ve username
uygulama kaydınızdan bir gerçek client_id
kullanarak aşağıdaki isteği bir tarayıcı sekmesine kopyalayıp yapıştırmayı deneyin. Bu, sessiz belirteç isteğinin çalıştığını görmenizi sağlar.
https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id={your-client-id}&response_type=token&redirect_uri=http%3A%2F%2Flocalhost%2Fmyapp%2F&scope=https%3A%2F%2Fgraph.microsoft.com%2Fuser.read&response_mode=fragment&state=12345&nonce=678910&prompt=none&login_hint={username}
Bunu bir iframe içinde açmak yerine doğrudan bir tarayıcı çubuğuna girdiğinizden, bunun üçüncü taraf tanımlama bilgisi desteği olmayan tarayıcılarda bile çalışacağını unutmayın.
parametresi sayesinde prompt=none
bu istek hemen başarılı olur veya başarısız olur ve uygulamanıza geri döner. Yanıt, parametresinde belirtilen response_mode
yöntemi kullanılarak belirtilen redirect_uri
konumunda uygulamanıza gönderilir.
Başarılı yanıt
Kullanarak response_mode=fragment
başarılı bir yanıt şöyle görünür:
GET https://localhost/myapp/#
access_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5HVEZ2ZEstZnl0aEV1Q...
&state=12345
&token_type=Bearer
&expires_in=3599
&scope=https%3A%2F%2Fgraph.microsoft.com%2Fdirectory.read
Parametre | Açıklama |
---|---|
access_token |
dahilse response_type dahil.token Bu örnekte Microsoft Graph için uygulamanın istediği erişim belirteci. Erişim belirtecinin kodu çözülmeyecek veya başka bir şekilde incelenmemeli, opak bir dize olarak kabul edilmelidir. |
token_type |
Bu her zaman bir Bearer . |
expires_in |
Önbelleğe alma amacıyla belirtecin geçerli olduğu saniye sayısını gösterir. |
scope |
Erişim belirtecinin geçerli olduğu bir veya daha fazla kapsamı gösterir. Kullanıcı için geçerli değilse istenen kapsamların tümünü içermeyebilir (Oturum açmak için kişisel bir hesap kullanıldığında Yalnızca Microsoft Entra kapsamları isteniyorsa). |
id_token |
İmzalı JSON Web Belirteci (JWT). dahilse response_type dahil.id_token Uygulama, oturum açan kullanıcı hakkında bilgi istemek için 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. id_tokens hakkında daha fazla bilgi için başvuruya id_token bakın. Not: Yalnızca kapsam istendiyse openid sağlanır. |
state |
İstekte bir durum parametresi varsa, yanıtta aynı değer görünmelidir. Uygulama, istek ve yanıttaki durum değerlerinin aynı olduğunu doğrulamalıdır. |
Hata yanıtı
Hata yanıtları da uygulamasına redirect_uri
gönderilerek uygulamanın bunları uygun şekilde işleyebilmesini sağlayabilir. ise prompt=none
, beklenen bir hata şudur:
GET https://localhost/myapp/#
error=user_authentication_required
&error_description=the+request+could+not+be+completed+silently
Parametre | Açıklama |
---|---|
error |
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. |
error_description |
Bir geliştiricinin kimlik doğrulama hatasının kök nedenini belirlemesine yardımcı olabilecek belirli bir hata iletisi. |
iframe isteğinde bu hatayı alırsanız, kullanıcının yeni bir belirteç almak için etkileşimli olarak yeniden oturum açması gerekir. Bu durumu uygulamanız için anlamlı olacak şekilde işlemeyi seçebilirsiniz.
Belirteçleri yenileme
Örtük izin, yenileme belirteçleri sağlamaz. Hem kimlik belirteçlerinin hem de erişim belirteçlerinin süresi kısa bir süre sonra dolacak, bu nedenle uygulamanızın bu belirteçleri düzenli aralıklarla yenilemeye hazır olması gerekir. Her iki belirteç türünü de yenilemek için, kimlik platformunun davranışını denetlemek için parametresini prompt=none
kullanarak daha önce özetlenen gizli iframe isteğinin aynısını gerçekleştirebilirsiniz. Yeni bir kimlik belirteci almak istiyorsanız ve scope=openid
ve nonce
parametresinde kullandığınızdan id_token
response_type
emin olun.
Üçüncü taraf tanımlama bilgilerini desteklemeyen tarayıcılarda bu, hiçbir kullanıcının oturum açmadığını belirten bir hatayla sonuçlanır.
Oturum kapatma isteği gönderme
OpenID Connectend_session_endpoint
, uygulamanızın kullanıcının oturumunu sonlandırmak ve Microsoft kimlik platformu tarafından ayarlanan tanımlama bilgilerini temizlemek için Microsoft kimlik platformu bir istek göndermesine olanak tanır. Bir kullanıcıyı web uygulamasından tamamen kapatmak için uygulamanızın kullanıcıyla kendi oturumunu sonlandırması (genellikle belirteç önbelleğini temizleyerek veya tanımlama bilgilerini bırakarak) ve ardından tarayıcıyı şu konuma yönlendirmelidir:
https://login.microsoftonline.com/{tenant}/oauth2/v2.0/logout?post_logout_redirect_uri=https://localhost/myapp/
Parametre | Tür | Açıklama |
---|---|---|
tenant |
Gerekli | {tenant} İstek yolundaki değer, uygulamada kimlerin oturum açabileceğini denetlemek için kullanılabilir. İzin verilen değerler , organizations , consumers ve kiracı tanımlayıcılarıdırcommon . Daha fazla ayrıntı için bkz . protokolle ilgili temel bilgiler. |
post_logout_redirect_uri |
Önerilen | Oturumu kapatma işlemi tamamlandıktan sonra kullanıcının döndürülmesi gereken URL. Bu değer, uygulama için kaydedilen yeniden yönlendirme URI'lerinden biriyle eşleşmelidir. Dahil değilse, kullanıcıya Microsoft kimlik platformu tarafından genel bir ileti gösterilir. |
Ayrıca bkz.
- Kodlamaya başlamak için MSAL JS örneklerinin üzerinden geçin.
- Yetkilendirme kodu akışını örtük vermenin daha yeni ve daha iyi bir alternatifi olarak gözden geçirin.