Azure Active Directory B2C'de OAuth 2.0 örtük akışını kullanarak tek sayfalı uygulama oturum açma

Birçok modern uygulamada öncelikli olarak JavaScript'te yazılmış tek sayfalı bir uygulama (SPA) ön ucu vardır. Uygulama genellikle React, Angular veya Vue.js gibi bir çerçeve kullanılarak yazılır. Öncelikle tarayıcıda çalışan SPA'ların ve diğer JavaScript uygulamalarının kimlik doğrulaması için bazı ek zorlukları vardır:

  • Bu uygulamaların güvenlik özellikleri geleneksel sunucu tabanlı web uygulamalarından farklıdır.

  • Birçok yetkilendirme sunucusu ve kimlik sağlayıcısı çıkış noktaları arası kaynak paylaşımı (CORS) isteklerini desteklemez.

  • Uygulamadan uzağa yönlendirilen tam sayfa tarayıcılar, kullanıcı deneyimine çok büyük bir rahatsızlık verebilir.

SPA'ları desteklemenin önerilen yolu, OAuth 2.0 Yetkilendirme kodu akışıdır (PKCE ile).

MSAL.js 1.x gibi bazı çerçeveler yalnızca örtük verme akışını destekler. Bu gibi durumlarda Azure Active Directory B2C (Azure AD B2C), OAuth 2.0 yetkilendirme örtülü verme akışını destekler. Akış, OAuth 2.0 belirtiminin 4.2 bölümünde açıklanmıştır. Örtük akışta uygulama, belirteçleri doğrudan Azure AD B2C yetkilendirme uç noktasından sunucudan sunucuya alışveriş yapmadan alır. Tüm kimlik doğrulama mantığı ve oturum işleme tamamen JavaScript istemcisinde sayfa yeniden yönlendirmesi veya açılır kutu ile gerçekleştirilir.

Azure AD B2C, standart OAuth 2.0 örtük akışını basit kimlik doğrulaması ve yetkilendirmeden daha fazlasına genişletir. Azure AD B2C ilke parametresini tanıtır. İlke parametresiyle, uygulamanıza kaydolma, oturum açma ve profil yönetimi kullanıcı akışları gibi ilkeler eklemek için OAuth 2.0'ı kullanabilirsiniz. Bu makaledeki örnek HTTP isteklerinde çizim için {tenant}.onmicrosoft.com kullanıyoruz. varsa değerini kiracınızın adıyla değiştirin{tenant}. Ayrıca , bir kullanıcı akışı oluşturmuş olmanız gerekir.

Örtük oturum açma akışını göstermek için aşağıdaki şekli kullanırız. Her adım makalenin devamında ayrıntılı olarak açıklanmıştır.

OpenID Connect örtük akışını gösteren kulvar stili diyagram

Kimlik doğrulama istekleri gönderme

Web uygulamanızın kullanıcının kimliğini doğrulaması ve bir kullanıcı akışı çalıştırması gerektiğinde, kullanıcıyı Azure AD B2C'nin /authorize uç noktasına yönlendirir. Kullanıcı, kullanıcı akışına bağlı olarak eylemde bulunur.

Bu istekte istemci, parametresindeki scope kullanıcıdan ve çalıştırılacak kullanıcı akışından alması gereken izinleri gösterir. İsteğin nasıl çalıştığı hakkında bilgi edinmek için isteği bir tarayıcıya yapıştırmayı ve çalıştırmayı deneyin. Değiştir:

  • {tenant}Azure AD B2C kiracınızın adıyla.

  • 90c0fe63-bcf2-44d5-8fb7-b8bbc0b29dc6 kiracınıza kaydettiğiniz uygulamanın uygulama kimliğiyle birlikte.

  • {policy} kiracınızda oluşturduğunuz bir ilkenin adıyla ( örneğin b2c_1_sign_in) .

GET https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/oauth2/v2.0/authorize?
client_id=90c0fe63-bcf2-44d5-8fb7-b8bbc0b29dc6
&response_type=id_token+token
&redirect_uri=https%3A%2F%2Faadb2cplayground.azurewebsites.net%2F
&response_mode=fragment
&scope=openid%20offline_access
&state=arbitrary_data_you_can_receive_in_the_response
&nonce=12345

HTTP GET isteğindeki parametreler aşağıdaki tabloda açıklanmıştır.

Parametre Gerekli Açıklama
{tenant} Yes Azure AD B2C kiracınızın adı
{policy} Yes Çalıştırmak istediğiniz kullanıcı akışının adı. Azure AD B2C kiracınızda oluşturduğunuz kullanıcı akışının adını belirtin. Örneğin: b2c_1_sign_in, b2c_1_sign_upveya b2c_1_edit_profile.
client_id Yes Azure portal uygulamanıza atadığı uygulama kimliği.
response_type Yes OpenID Connect oturum açma için dahil id_token edilmelidir. Ayrıca yanıt türünü tokende içerebilir. kullanıyorsanız token, uygulamanız yetkilendirme uç noktasına ikinci bir istekte bulunmadan yetkilendirme uç noktasından hemen bir erişim belirteci alabilir. Yanıt türünü kullanırsanız token parametresi, scope belirtecin verildiği kaynağı gösteren bir kapsam içermelidir.
redirect_uri No Kimlik doğrulama yanıtlarının uygulamanız tarafından gönderilip alınabildiği uygulamanızın yeniden yönlendirme URI'si. Url ile kodlanmış olması dışında portalda kayıtlı bir uygulamaya eklediğiniz yeniden yönlendirme URI'lerinden biriyle tam olarak eşleşmelidir.
response_mode No Sonuçta elde edilen belirteci uygulamanıza geri göndermek için kullanılacak yöntemi belirtir. Örtük akışlar için kullanın fragment.
scope Yes Boşlukla ayrılmış kapsam listesi. Tek bir kapsam değeri, istenen izinlerin her ikisini de Microsoft Entra kimliğini belirtir. Kapsam, openid kullanıcıda oturum açma ve kullanıcı hakkında kimlik belirteçleri biçiminde veri alma iznini gösterir. Kapsam offline_access , web uygulamaları için isteğe bağlıdır. Uygulamanızın kaynaklara uzun süreli erişim için yenileme belirtecine ihtiyacı olduğunu gösterir.
state No İstekte bulunan ve belirteç yanıtında da döndürülen bir değer. Kullanmak istediğiniz herhangi bir içeriğin dizesi olabilir. Genellikle siteler arası istek sahteciliği saldırılarını önlemek için rastgele oluşturulmuş, benzersiz bir değer kullanılır. Durum, kimlik doğrulama isteği gerçekleşmeden önce kullanıcının uygulamadaki durumuyla ilgili bilgileri (örneğin, kullanıcının üzerinde olduğu sayfa veya yürütülmekte olan kullanıcı akışı) kodlamak için de kullanılır.
Nonce Yes İstekte bulunan (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. Genellikle değer, isteğin kaynağını tanımlamak için kullanılabilecek rastgele, benzersiz bir dizedir.
Istemi No Gerekli kullanıcı etkileşiminin türü. Şu anda tek geçerli değer şeklindedir login. Bu parametre kullanıcıyı bu istekte kimlik bilgilerini girmeye zorlar. Tek Sign-On geçerli olmaz.

Bu, akışın etkileşimli bölümüdür. Kullanıcıdan ilkenin iş akışını tamamlaması istenir. Kullanıcının kullanıcı adını ve parolasını girmesi, sosyal kimlikle oturum açması, yerel bir hesaba kaydolması veya başka bir dizi adımı olması gerekebilir. Kullanıcı eylemleri, kullanıcı akışının nasıl tanımlandığına bağlıdır.

Kullanıcı kullanıcı akışını tamamladıktan sonra Azure AD B2C, aracılığıyla redirect_uriuygulamanıza bir yanıt döndürür. parametresinde response_mode belirtilen yöntemini kullanır. Yanıt, yürütülen kullanıcı akışından bağımsız olarak, kullanıcı eylemi senaryolarının her biri için tam olarak aynıdır.

Başarılı yanıt

Okunabilirlik için satır sonlarıyla birlikte aşağıdakine benzeyen ve response_type=id_token+token kullanan response_mode=fragment başarılı bir yanıt:

GET https://aadb2cplayground.azurewebsites.net/#
access_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5HVEZ2ZEstZnl0aEV1Q...
&token_type=Bearer
&expires_in=3599
&scope="90c0fe63-bcf2-44d5-8fb7-b8bbc0b29dc6 offline_access",
&id_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5HVEZ2ZEstZnl0aEV1Q...
&state=arbitrary_data_you_sent_earlier
Parametre Açıklama
access_token Uygulamanın B2C'Azure AD istediği erişim belirteci.
token_type Belirteç türü değeri. Azure AD B2C'nin desteklediği tek tür Taşıyıcı'dır.
expires_in Erişim belirtecinin geçerli olduğu süre (saniye cinsinden).
scope Belirtecin geçerli olduğu kapsamlar. Ayrıca kapsamları kullanarak belirteçleri daha sonra kullanmak üzere önbelleğe alabilirsiniz.
id_token Uygulamanın istediği kimlik belirteci. Kimlik belirtecini kullanarak kullanıcının kimliğini doğrulayabilir ve kullanıcıyla oturum başlatabilirsiniz. Kimlik belirteçleri ve içerikleri hakkında daha fazla bilgi için bkz. Azure AD B2C belirteci başvurusu.
state İstekte bir state parametre varsa, yanıtta aynı değerin görünmesi gerekir. Uygulama, istek ve yanıttaki değerlerin state aynı olduğunu doğrulamalıdır.

Hata yanıtı

Hata yanıtları, uygulamanın bunları uygun şekilde işleyebilmesi için yeniden yönlendirme URI'sine de gönderilebilir:

GET https://aadb2cplayground.azurewebsites.net/#
error=access_denied
&error_description=the+user+canceled+the+authentication
&state=arbitrary_data_you_can_receive_in_the_response
Parametre Açıklama
error Oluşan hata türlerini sınıflandırmak için kullanılan bir kod.
error_description Kimlik doğrulama hatasının kök nedenini belirlemenize yardımcı olabilecek belirli bir hata iletisi.
state İstekte bir state parametre varsa, yanıtta aynı değerin görünmesi gerekir. Uygulama, istek ve yanıttaki değerlerin state aynı olduğunu doğrulamalıdır.

Kimlik belirtecini doğrulama

Kimlik belirteci almak, kullanıcının kimliğini doğrulamak için yeterli değildir. Kimlik belirtecinin imzasını doğrulayın ve uygulamanızın gereksinimlerine göre belirteçteki talepleri doğrulayın. Azure AD B2C, belirteçleri imzalamak ve geçerli olduklarını doğrulamak için JSON Web Belirteçleri (JWT) ve ortak anahtar şifrelemesi kullanır.

Kullanmayı tercih ettiğiniz dile bağlı olarak JWT'leri doğrulamak için birçok açık kaynak kitaplığı kullanılabilir. Kendi doğrulama mantığınızı uygulamak yerine kullanılabilir açık kaynak kitaplıklarını incelemeyi göz önünde bulundurun. Bu kitaplıkları düzgün kullanmayı öğrenmenize yardımcı olması için bu makaledeki bilgileri kullanabilirsiniz.

Azure AD B2C'de OpenID Connect meta veri uç noktası vardır. Bir uygulama, çalışma zamanında Azure AD B2C hakkında bilgi getirmek için uç noktayı kullanabilir. Bu bilgiler uç noktaları, belirteç içeriklerini ve belirteç imzalama anahtarlarını içerir. Azure AD B2C kiracınızda her kullanıcı akışı için bir JSON meta veri belgesi vardır. Örneğin, kiracıda fabrikamb2c.onmicrosoft.com adlı b2c_1_sign_in bir kullanıcı akışının meta veri belgesi şu konumda bulunur:

https://fabrikamb2c.b2clogin.com/fabrikamb2c.onmicrosoft.com/b2c_1_sign_in/v2.0/.well-known/openid-configuration

Bu yapılandırma belgesinin özelliklerinden biri de şeklindedir jwks_uri. Aynı kullanıcı akışının değeri şöyle olabilir:

https://fabrikamb2c.b2clogin.com/fabrikamb2c.onmicrosoft.com/b2c_1_sign_in/discovery/v2.0/keys

Kimlik belirtecini imzalamak için hangi kullanıcı akışının kullanıldığını (ve meta verilerin nereden getirileceğini) belirlemek için aşağıdaki seçeneklerden herhangi birini kullanabilirsiniz:

  • Kullanıcı akışı adı içindeki talepe acrid_tokendahil edilir. Kimlik belirtecinden talepleri ayrıştırma hakkında bilgi için bkz. Azure AD B2C belirteci başvurusu.

  • İsteği yayımladığınızda kullanıcı akışını parametresinin state değerinde kodlar. Ardından parametresinin kodunu çözerek state hangi kullanıcı akışının kullanıldığını belirleyin.

OpenID Connect meta veri uç noktasından meta veri belgesini aldıktan sonra, kimlik belirtecinin imzasını doğrulamak için RSA-256 ortak anahtarlarını (bu uç noktada bulunur) kullanabilirsiniz. Herhangi bir anda bu uç noktada her biri tarafından kidtanımlanan birden çok anahtar olabilir. üst bilgisi id_token de bir kid talep içerir. Kimlik belirtecini imzalamak için bu anahtarlardan hangisinin kullanıldığını gösterir. Belirteçleri doğrulama hakkında bilgi edinmek de dahil olmak üzere daha fazla bilgi için bkz. Azure AD B2C belirteci başvurusu.

Kimlik belirtecinin imzasını doğruladıktan sonra, çeşitli talepler doğrulama gerektirir. Örnek:

  • nonce Belirteç yeniden yürütme saldırılarını önlemek için talebi doğrulayın. Değeri, oturum açma isteğinde belirttiğiniz değer olmalıdır.

  • Kimlik belirtecinin aud uygulamanız için verildiğinden emin olmak için talebi doğrulayın. Değeri uygulamanızın uygulama kimliği olmalıdır.

  • Kimlik belirtecinin iat süresinin dolmadığından emin olmak için ve exp taleplerini doğrulayın.

Gerçekleştirmeniz gereken birkaç doğrulama daha OpenID Connect Core Belirtiminde ayrıntılı olarak açıklanmıştır. Senaryonuza bağlı olarak ek talepleri de doğrulamak isteyebilirsiniz. Bazı yaygın doğrulamalar şunlardır:

  • Kullanıcının veya kuruluşun uygulamaya kaydolduğunu güvence altına alma.

  • Kullanıcının uygun yetkilendirmeye ve ayrıcalıklara sahip olduğundan emin olması.

  • Çok faktörlü Microsoft Entra kimlik doğrulaması kullanmak gibi belirli bir kimlik doğrulaması gücünün oluştuğundan emin olma.

Kimlik belirtecindeki talepler hakkında daha fazla bilgi için bkz. Azure AD B2C belirteci başvurusu.

Kimlik belirtecini doğruladıktan sonra kullanıcıyla oturum başlatabilirsiniz. Uygulamanızda, kullanıcı hakkında bilgi edinmek için kimlik belirtecindeki talepleri kullanın. Bu bilgiler görüntüleme, kayıtlar, yetkilendirme vb. için kullanılabilir.

Erişim belirteçlerini alma

Web uygulamalarınızın yapması gereken tek şey kullanıcı akışlarını yürütmekse, sonraki birkaç bölümü atlayabilirsiniz. Aşağıdaki bölümlerdeki bilgiler yalnızca B2C'nin kendisi Azure AD tarafından korunan bir web API'sine kimliği doğrulanmış çağrılar yapması gereken web uygulamaları için geçerlidir.

Kullanıcıyı SPA'nızda oturum açtığınıza göre, Microsoft Entra kimliğiyle güvenliği sağlanan web API'lerini çağırmak için erişim belirteçleri alabilirsiniz. Yanıt türünü kullanarak token zaten bir belirteç aldıysanız bile, kullanıcıyı yeniden oturum açmaya yönlendirmeden ek kaynaklara yönelik belirteçleri almak için bu yöntemi kullanabilirsiniz.

Tipik bir web uygulaması akışında uç noktaya bir istekte /token bulunabilirsiniz. Ancak uç nokta CORS isteklerini desteklemediğinden yenileme belirteci almak için AJAX çağrıları yapmak bir seçenek değildir. Bunun yerine, diğer web API'leri için yeni belirteçler almak için gizli bir HTML iframe öğesinde örtük akışı kullanabilirsiniz. Burada, okunabilirlik için satır sonları içeren bir örnek verilmiştir:

https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/oauth2/v2.0/authorize?
client_id=90c0fe63-bcf2-44d5-8fb7-b8bbc0b29dc6
&response_type=token
&redirect_uri=https%3A%2F%2Faadb2cplayground.azurewebsites.net%2F
&scope=https%3A%2F%2Fapi.contoso.com%2Ftasks.read
&response_mode=fragment
&state=arbitrary_data_you_can_receive_in_the_response
&nonce=12345
&prompt=none
Parametre Gerekli mi? Description
{tenant} Gerekli Azure AD B2C kiracınızın adı
{policy} Gerekli Çalıştırılacak kullanıcı akışı. Azure AD B2C kiracınızda oluşturduğunuz kullanıcı akışının adını belirtin. Örneğin: b2c_1_sign_in, b2c_1_sign_upveya b2c_1_edit_profile.
client_id Gerekli Azure portal uygulamanıza atanan uygulama kimliği.
response_type Gerekli OpenID Connect oturum açma için dahil id_token edilmelidir. Yanıt türünü tokende içerebilir. Burada kullanıyorsanız token , uygulamanız yetkilendirme uç noktasına ikinci bir istekte bulunmadan hemen yetkilendirme uç noktasından erişim belirteci alabilir. Yanıt türünü kullanırsanız token parametresi, scope belirtecin verildiği kaynağı gösteren bir kapsam içermelidir.
redirect_uri Önerilen Kimlik doğrulama yanıtlarının uygulamanız tarafından gönderilip alınabildiği uygulamanızın yeniden yönlendirme URI'si. Url ile kodlanmış olması dışında portalda kaydettiğiniz yeniden yönlendirme URI'lerinden biriyle tam olarak eşleşmelidir.
scope Gerekli Boşlukla ayrılmış kapsam listesi. Belirteçleri almak için, hedeflenen kaynak için gereken tüm kapsamları ekleyin.
response_mode Önerilen Sonuçta elde edilen belirteci uygulamanıza geri göndermek için kullanılan yöntemi belirtir. Örtük akış için kullanın fragment. ve olmak üzere iki mod daha belirtilebilir queryform_post, ancak örtük akışta çalışmaz.
state Önerilen İstekte bulunan ve belirteç yanıtında döndürülen bir değer. Kullanmak istediğiniz herhangi bir içeriğin dizesi olabilir. Genellikle siteler arası istek sahteciliği saldırılarını önlemek için rastgele oluşturulmuş, benzersiz bir değer kullanılır. Durum, kimlik doğrulama isteği gerçekleşmeden önce kullanıcının uygulamadaki durumu hakkındaki bilgileri kodlamak için de kullanılır. Örneğin, kullanıcının açık olduğu sayfa veya görünüm.
Nonce Gerekli İstekte bulunan ve sonuçta elde edilen kimlik belirtecinde talep olarak bulunan uygulama tarafından oluşturulan bir değer. Uygulama daha sonra belirteç yeniden yürütme saldırılarını azaltmak için bu değeri doğrulayabilir. Genellikle değer, isteğin kaynağını tanımlayan rastgele, benzersiz bir dizedir.
Istemi Gerekli Gizli bir iframe'de belirteçleri yenilemek ve almak için, iframe'in oturum açma sayfasında takılmadığından ve hemen döndürmediğinden emin olmak için kullanın prompt=none .
login_hint Gerekli Gizli bir iframe'de belirteçleri yenilemek ve almak için, kullanıcının belirli bir anda sahip olabileceği birden çok oturumu ayırt etmek için kullanıcının kullanıcı adını bu ipucuna ekleyin. Talebi kullanarak preferred_username önceki bir oturum açmadan kullanıcı adını ayıklayabilirsiniz ( profile talebi almak preferred_username için kapsam gereklidir).
domain_hint Gerekli consumers veya organizations olabilir. Gizli bir iframe'de belirteçleri yenilemek ve almak için isteğe değerini ekleyin domain_hint . tid Hangi değerin kullanılacağını belirlemek için önceki bir oturum açma işleminin kimlik belirtecinden talebi ayıklayın (profiletalebi almak tid için kapsam gereklidir). tid Talep değeri ise 9188040d-6c67-4c5b-b112-36a304b66dadkullanındomain_hint=consumers. Aksi takdirde kullanın domain_hint=organizations.

parametresini prompt=none ayarlayarak, bu istek hemen başarılı olur veya başarısız olur ve uygulamanıza geri döner. Parametresinde response_mode belirtilen yöntem kullanılarak yeniden yönlendirme URI'si aracılığıyla uygulamanıza başarılı bir yanıt gönderilir.

Başarılı yanıt

kullanarak response_mode=fragment başarılı bir yanıt şu örneğe benzer:

GET https://aadb2cplayground.azurewebsites.net/#
access_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5HVEZ2ZEstZnl0aEV1Q...
&state=arbitrary_data_you_sent_earlier
&token_type=Bearer
&expires_in=3599
&scope=https%3A%2F%2Fapi.contoso.com%2Ftasks.read
Parametre Açıklama
access_token Uygulamanın istediği belirteç.
token_type Belirteç türü her zaman Taşıyıcı olacaktır.
state İstekte bir state parametre varsa, yanıtta aynı değerin görünmesi gerekir. Uygulama, istek ve yanıttaki değerlerin state aynı olduğunu doğrulamalıdır.
expires_in Erişim belirtecinin geçerli olduğu süre (saniye).
scope Erişim belirtecinin geçerli olduğu kapsamlar.

Hata yanıtı

Hata yanıtları, uygulamanın bunları uygun şekilde işleyebilmesi için yeniden yönlendirme URI'sine de gönderilebilir. için prompt=none, beklenen bir hata şu örneğe benzer:

GET https://aadb2cplayground.azurewebsites.net/#
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 bir hata kodu dizesi. Hatalara tepki vermek için dizeyi de kullanabilirsiniz.
error_description Kimlik doğrulama hatasının kök nedenini belirlemenize 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.

Belirteçleri yenileme

Kimlik belirteçlerinin ve erişim belirteçlerinin her ikisi de kısa bir süre sonra sona erer. Uygulamanız bu belirteçleri düzenli aralıklarla yenilemeye hazır olmalıdır. Örtük akışlar, güvenlik nedenleriyle yenileme belirteci almanıza izin vermez. Her iki belirteç türünü de yenilemek için gizli bir HTML iframe öğesinde örtük akışı kullanın. Yetkilendirme isteğine parametresini prompt=none ekleyin. Yeni bir id_token değeri almak için ve ve scope=openidparametresini nonce kullandığınızdan response_type=id_token emin olun.

Oturum kapatma isteği gönderme

Kullanıcının uygulamadan çıkışını yapmak istediğinizde, kullanıcıyı B2C'nin oturum kapatma uç noktasına Azure AD yönlendirin. Daha sonra uygulamada kullanıcının oturumunu temizleyebilirsiniz. Kullanıcıyı yeniden yönlendirmezseniz, Azure AD B2C ile geçerli bir Tek Sign-On oturumu olduğundan, kimlik bilgilerini yeniden girmeden uygulamanıza yeniden kimlik doğrulaması yapabilir.

Kullanıcıyı, Kimlik belirteciniend_session_endpoint doğrulama bölümünde açıklanan OpenID Connect meta veri belgesinde listelenene yönlendirebilirsiniz. Örnek:

GET https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/oauth2/v2.0/logout?post_logout_redirect_uri=https%3A%2F%2Faadb2cplayground.azurewebsites.net%2F
Parametre Gerekli Açıklama
{tenant} Yes Azure AD B2C kiracınızın adı.
{policy} Yes Kullanıcının uygulamanızda oturumunu kapatmak için kullanmak istediğiniz kullanıcı akışı. Bunun, uygulamanın kullanıcı oturumunu açmak için kullandığı kullanıcı akışıyla aynı olması gerekir.
post_logout_redirect_uri No Başarılı bir şekilde oturumu kapatıldıktan sonra kullanıcının yeniden yönlendirileceği URL. Dahil değilse, Azure AD B2C kullanıcıya genel bir ileti gösterir.
state No İstekte bir state parametre varsa, yanıtta aynı değerin görünmesi gerekir. Uygulama, istek ve yanıttaki değerlerin state aynı olduğunu doğrulamalıdır.

Not

Kullanıcıyı tek Sign-On durumuna yönlendirmekend_session_endpoint, Azure AD B2C ile kullanıcının tek Sign-On durumundan bazılarını temizler. Ancak kullanıcının sosyal kimlik sağlayıcısı oturumunu kapatmaz. Kullanıcı bir sonraki oturum açma sırasında aynı kimlik sağlayıcısını seçerse, kullanıcının kimlik bilgileri girilmeden kimliği yeniden doğrulanır. Bir kullanıcı Azure AD B2C uygulamanızın oturumunu kapatmak istiyorsa, bu, örneğin Facebook hesabında tamamen oturumu kapatmak istediği anlamına gelmez. Ancak, yerel hesaplar için kullanıcının oturumu düzgün bir şekilde sonlandırılır.

Sonraki adımlar

Kod örneğine bakın: JavaScript SPA'da Azure AD B2C ile oturum açma.