Azure Active Directory B2C'de OpenID Bağlan ile web oturumu açma
OpenID Bağlan, kullanıcıların web uygulamalarında güvenli bir şekilde oturum açmasını sağlamak için kullanılabilen, OAuth 2.0'ın üzerine kurulmuş bir kimlik doğrulama protokolüdür. OpenID Bağlan Azure Active Directory B2C (Azure AD B2C) uygulamasını kullanarak, web uygulamalarınızdaki kaydolma, oturum açma ve diğer kimlik yönetimi deneyimlerini Microsoft Entra Id'ye dış kaynak olarak atayabilirsiniz. Bu kılavuzda, bunu dilden bağımsız bir şekilde nasıl yapabileceğiniz gösterilmektedir. Açık kaynak kitaplıklarımızdan herhangi birini kullanmadan HTTP iletileri göndermeyi ve almayı açıklar.
Dekont
Açık kaynak kimlik doğrulama kitaplıklarının çoğu uygulamanız için JWT belirteçlerini alır ve doğrular. Kendi kodunuzu uygulamak yerine bu seçenekleri incelemenizi öneririz. Daha fazla bilgi için bkz . Microsoft Kimlik Doğrulama Kitaplığı'na (MSAL) ve Microsoft Identity Web kimlik doğrulama kitaplığına genel bakış.
OpenID Bağlan, kimlik doğrulama protokolü olarak kullanmak üzere OAuth 2.0 yetkilendirme protokolunu genişletir. Bu kimlik doğrulama protokolü çoklu oturum açma işlemi gerçekleştirmenizi sağlar. İstemcinin kullanıcının kimliğini doğrulamasını ve kullanıcı hakkında temel profil bilgilerini almasını sağlayan kimlik belirteci kavramını tanıtır.
OpenID Bağlan, uygulamaların erişim belirteçlerini güvenli bir şekilde almasını da sağlar. Yetkilendirme sunucusunun güvenli olduğu kaynaklara erişmek için erişim belirteçlerini kullanabilirsiniz. Sunucuda barındırdığınız ve tarayıcı üzerinden erişilen bir web uygulaması oluşturuyorsanız OpenID Bağlan önerilir. Belirteçler hakkında daha fazla bilgi için bkz . Azure Active Directory B2C'de belirteçlere genel bakış
Azure AD B2C, basit kimlik doğrulaması ve yetkilendirmeden fazlasını yapmak için standart OpenID Bağlan protokollerini genişletir. Uygulamanıza kaydolma, oturum açma ve profil yönetimi gibi kullanıcı deneyimleri eklemek için OpenID Bağlan kullanmanızı sağlayan kullanıcı akışı parametresini tanıtır.
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ı /authorize
uç noktaya yönlendirebilir. Kullanıcı, kullanıcı akışına bağlı olarak eylemde bulunur.
Bu istekte istemci, parametresinde scope
kullanıcıdan alması gereken izinleri belirtir ve çalıştırılacak kullanıcı akışını belirtir. İsteğin nasıl çalıştığını öğrenmek için isteği tarayıcınıza yapıştırın ve çalıştırın. Değiştirme:
{tenant}
kiracınızın adıyla birlikte.90c0fe63-bcf2-44d5-8fb7-b8bbc0b29dc6
kiracınıza kaydettiğiniz bir uygulamanın uygulama kimliğiyle.{application-id-uri}/{scope-name}
uygulama kimliği URI'si ve kiracınıza kaydettiğiniz bir uygulamanın kapsamıyla.{policy}
kiracınızda bulunan ilke adıyla ( örneğinb2c_1_sign_in
) .
GET /{tenant}.onmicrosoft.com/{policy}/oauth2/v2.0/authorize?
Host: {tenant}.b2clogin.com
client_id=90c0fe63-bcf2-44d5-8fb7-b8bbc0b29dc6
&response_type=code+id_token
&redirect_uri=https%3A%2F%2Fjwt.ms%2F
&response_mode=fragment
&scope=openid%20offline_access%20{application-id-uri}/{scope-name}
&state=arbitrary_data_you_can_receive_in_the_response
&nonce=12345
Parametre | Zorunlu | Açıklama |
---|---|---|
{tenant} | Evet | Azure AD B2C kiracınızın adı. Özel bir etki alanı kullanıyorsanız, değerini gibi fabrikam.com etki alanınızla değiştirintenant.b2clogin.com . |
{policy} | Evet | Uygulamanın çalıştır olduğu kullanıcı akışı veya ilkesi. 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_up veya b2c_1_edit_profile . |
client_id | Evet | Azure portalının uygulamanıza atadığı uygulama kimliği. |
nonce | Evet | İ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. değeri genellikle isteğin kaynağını tanımlamak için kullanılabilecek rastgele bir benzersiz dizedir. |
response_type | Evet | OpenID Bağlan için bir kimlik belirteci içermelidir. Web uygulamanızın da bir web API'sini çağırmak için belirteçlere ihtiyacı varsa kullanabilirsiniz code+id_token . |
kapsam | Evet | Boşlukla ayrılmış kapsam listesi. Kapsam, openid kullanıcıda oturum açma ve kullanıcı hakkında kimlik belirteci biçiminde veri alma iznini gösterir. Kapsam offline_access , web uygulamaları için isteğe bağlıdır. Uygulamanızın kaynaklara genişletilmiş erişim için yenileme belirtecine ihtiyacı olduğunu gösterir. , https://{tenant-name}/{app-id-uri}/{scope} web API'si gibi korumalı kaynaklara bir izin gösterir. Daha fazla bilgi için bkz . Erişim belirteci isteme. |
Istemi | No | Gereken kullanıcı etkileşiminin türü. Şu anda geçerli olan tek değer, kullanıcıyı bu istekte kimlik bilgilerini girmeye zorlayan değeridir login . |
redirect_uri | Evet | redirect_uri Sunucunun uygulamanıza kimlik doğrulama yanıtları gönderdiği uygulamanızın parametresi. URL ile kodlanmış olması dışında, Azure portalına kaydettiğiniz parametrelerden biriyle redirect_uri tam olarak eşleşmelidir. |
response_mode | No | Sonuçta elde edilen yetkilendirme kodunu uygulamanıza geri göndermek için kullanılan yöntem. , veya fragment olabilirquery form_post . En iyi güvenlik için yanıt modunu kullanmanızı form_post öneririz. |
semt | No | Yetkilendirme sunucusunun belirteç yanıtında döndürdüğü isteğe ekleyebileceğiniz bir değer. İ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ğrulama isteği gerçekleşmeden önce kullanıcının uygulamadaki durumuyla ilgili bilgileri (örneğin, bulunduğu sayfa) kodlamak için de kullanılır. Azure portalınıza birden çok yeniden yönlendirme URL'sini kaydetmek istemiyorsanız, farklı istekler nedeniyle uygulamanızdaki yanıtları Azure AD B2C hizmetinden ayırt etmek için parametresini kullanabilirsiniz state . |
login_hint | No | Oturum açma sayfasının oturum açma adı alanını önceden doldurmak için kullanılabilir. Daha fazla bilgi için bkz . Oturum açma adını önceden doldurma. |
domain_hint | No | Azure AD B2C'ye oturum açmak için kullanılması gereken sosyal kimlik sağlayıcısı hakkında bir ipucu sağlar. Geçerli bir değer eklenirse, kullanıcı doğrudan kimlik sağlayıcısı oturum açma sayfasına gider. Daha fazla bilgi için bkz . Oturum açmayı sosyal bir sağlayıcıya yeniden yönlendirme. |
Özel parametreler | No | Özel ilkelerle kullanılabilecek özel parametreler. Örneğin, dinamik özel sayfa içeriği URI'si veya anahtar-değer talebi çözümleyicileri. |
Bu noktada kullanıcıdan iş akışını tamamlaması istenir. Kullanıcının kullanıcı adını ve parolasını girmesi, sosyal kimlikle oturum açması veya dizine kaydolması gerekebilir. Kullanıcı akışının nasıl tanımlandığına bağlı olarak başka sayıda adım olabilir.
Kullanıcı akışı tamamlandıktan sonra, parametrede belirttiğiniz response_mode
yöntem kullanılarak belirtilen redirect_uri
parametrede uygulamanıza bir yanıt döndürülür. Yanıt, kullanıcı akışından bağımsız olarak önceki durumların her biri için aynıdır.
kullanarak response_mode=fragment
başarılı bir yanıt şöyle görünür:
GET https://jwt.ms/#
id_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5HVEZ2ZEstZnl0aEV1Q...
&code=AwABAAAAvPM1KaPlrEqdFSBzjqfTGBCmLdgfSTLEMPGYuNHSUYBrq...
&state=arbitrary_data_you_can_receive_in_the_response
Parametre | Açıklama |
---|---|
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. |
kod | kullandıysanız response_type=code+id_token uygulamanın istediği yetkilendirme kodu. Uygulama, bir hedef kaynak için erişim belirteci istemek üzere yetkilendirme kodunu kullanabilir. Yetkilendirme kodlarının süresi genellikle yaklaşık 10 dakika sonra dolar. |
semt | İstekte bir state parametre varsa, yanıtta aynı değer görünmelidir. Uygulama, istek ve yanıttaki değerlerin aynı olduğunu state doğrulamalıdır. |
Hata yanıtları, uygulamanın bunları uygun şekilde işleyebilmesi için redirect_uri
parametresine de gönderilebilir:
GET https://jwt.ms/#
error=access_denied
&error_description=AADB2C90091%3a+The+user+has+cancelled+entering+self-asserted+information.%0d%0aCorrelation+ID%3a+xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx%0d%0aTimestamp%3a+xxxx-xx-xx+xx%3a23%3a27Z%0d%0a
&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ılabilecek bir kod. |
error_description | Kimlik doğrulama hatasının kök nedenini belirlemeye yardımcı olabilecek belirli bir hata iletisi. |
semt | İstekte bir state parametre varsa, yanıtta aynı değer görünmelidir. Uygulama, istek ve yanıttaki değerlerin aynı olduğunu state doğrulamalıdır. |
Kimlik belirtecini doğrulama
Kimlik belirtecinin alınması 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.
Dekont
Açık kaynak kimlik doğrulama kitaplıklarının çoğu uygulamanız için JWT belirteçlerini doğrular. Kendi doğrulama mantığınızı uygulamak yerine bu seçenekleri incelemenizi öneririz. Daha fazla bilgi için bkz . Microsoft Kimlik Doğrulama Kitaplığı'na (MSAL) ve Microsoft Identity Web kimlik doğrulama kitaplığına genel bakış.
Azure AD B2C'de, bir uygulamanın çalışma zamanında Azure AD B2C hakkında bilgi almasına olanak tanıyan bir OpenID Bağlan meta veri uç noktası vardır. Bu bilgiler uç noktaları, belirteç içeriklerini ve belirteç imzalama anahtarlarını içerir. B2C kiracınızda her kullanıcı akışı için bir JSON meta veri belgesi vardır. Örneğin, içindeki fabrikamb2c.onmicrosoft.com
kullanıcı akışının b2c_1_sign_in
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, jwks_uri
aynı kullanıcı akışı için değeri şu şekilde olacaktır:
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ı belirlemek için iki seçeneğiniz vardır. İlk olarak, kullanıcı akışı adı kimlik belirtecindeki acr
talepte yer alır. Bkz . Kullanıcı akışını temsil eden talep. Diğer seçeneğiniz, isteği gönderdiğinizde kullanıcı akışını parametrenin değerinde state
kodlamak ve ardından hangi kullanıcı akışının kullanıldığını belirlemek için kodunu çözmektir. Her iki yöntem de geçerlidir.
Meta veri belgesini OpenID Bağlan meta veri uç noktasından aldıktan sonra, kimlik belirtecinin imzasını doğrulamak için RSA 256 ortak anahtarlarını kullanabilirsiniz. Bu uç noktada her birinin bir kid
talep tarafından tanımlanan birden çok anahtarı olabilir. Kimlik belirtecinin üst bilgisi, kimlik belirtecini imzalamak için bu anahtarlardan hangisinin kullanıldığını gösteren bir kid
talep de içerir.
Azure AD B2C'den belirteçleri doğrulamak için üs (e) ve modulus(n) kullanarak ortak anahtarı oluşturmanız gerekir. Bunu yapmak için ortak anahtarı istediğiniz programlama dilinde oluşturmayı öğrenmeniz gerekir. RSA protokolü ile Ortak Anahtar oluşturma ile ilgili resmi belgelere buradan ulaşabilirsiniz: https://tools.ietf.org/html/rfc3447#section-3.1
Kimlik belirtecinin imzasını doğruladıktan sonra, doğrulamanız gereken çeşitli talepler vardır. Örneğin:
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 veexp
taleplerini doğrulayın.
Ayrıca gerçekleştirmeniz gereken birkaç doğrulama daha vardır. Doğrulamalar OpenID Bağlan Çekirdek Belirtiminde ayrıntılı olarak açıklanmıştır. Senaryonuza bağlı olarak daha fazla talep doğrulamak da isteyebilirsiniz. Bazı yaygın doğrulamalar şunlardır:
- Kullanıcının/kuruluşun uygulamaya kaydolduğunu doğrulayın.
- Kullanıcının uygun yetkilendirme/ayrıcalıklara sahip olduğundan emin olun.
- Microsoft Entra çok faktörlü kimlik doğrulaması gibi belirli bir kimlik doğrulaması gücünün oluştuğundan emin olun.
Kimlik belirteci doğrulandıktan sonra kullanıcıyla oturum başlatabilirsiniz. Uygulamanızdaki kullanıcı hakkında bilgi edinmek için kimlik belirtecindeki talepleri kullanabilirsiniz. Bu bilgilerin kullanım alanları görüntüleme, kayıtlar ve yetkilendirmedir.
Belirteç alma
Web uygulamanızın yalnızca kullanıcı akışlarını çalıştırması gerekiyorsa, sonraki birkaç bölümü atlayabilirsiniz. Bu bölümler yalnızca Azure AD B2C tarafından korunan bir web API'sine kimliği doğrulanmış çağrılar yapması gereken web uygulamaları için geçerlidir.
Uç noktaya istek /token
göndererekPOST
, belirteç için aldığınız yetkilendirme kodunu (kullanarakresponse_type=code+id_token
) istenen kaynağa kullanabilirsiniz. Azure AD B2C'de, istekte kapsamlarını belirterek diğer API'ler için her zamanki gibi erişim belirteçleri isteyebilirsiniz.
Uygulamanızın kendi arka uç Web API'si için erişim belirteci de isteyebilirsiniz. Bu durumda, istenen kapsam olarak uygulamanın istemci kimliğini kullanırsınız ve bu da bu istemci kimliğine sahip bir erişim belirtecinin "hedef kitle" olarak kullanılmasına neden olur:
POST https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/oauth2/v2.0/token HTTP/1.1
Host: {tenant}.b2clogin.com
Content-Type: application/x-www-form-urlencoded
grant_type=authorization_code
&client_id=90c0fe63-bcf2-44d5-8fb7-b8bbc0b29dc6
&scope=90c0fe63-bcf2-44d5-8fb7-b8bbc0b29dc6 offline_access
&code=AwABAAAAvPM1KaPlrEqdFSBzjqfTGBCmLdgfSTLEMPGYuNHSUYBrq...
&redirect_uri=urn:ietf:wg:oauth:2.0:oob
Başarılı bir belirteç yanıtı şöyle görünür:
{
"not_before": "1442340812",
"token_type": "Bearer",
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5HVEZ2ZEstZnl0aEV1Q...",
"scope": "90c0fe63-bcf2-44d5-8fb7-b8bbc0b29dc6 offline_access",
"expires_in": "3600",
"expires_on": "1644254945",
"refresh_token": "AAQfQmvuDy8WtUv-sd0TBwWVQs1rC-Lfxa_NDkLqpg50Cxp5Dxj0VPF1mx2Z...",
}
Parametre | Açıklama |
---|---|
not_before | Belirtecin geçerli olduğu dönem süresi. |
token_type | Belirteç türü değeri. Bearer desteklenen tek türdür. |
access_token | İstediğiniz imzalı JWT belirteci. |
kapsam | Belirteç için geçerli kapsamlar. |
expires_in | Erişim belirtecinin geçerli olduğu süre (saniye cinsinden). |
expires_on | Erişim belirtecinin geçersiz hale geldiği dönem süresi. |
refresh_token | OAuth 2.0 yenileme belirteci. Uygulama, geçerli belirtecin süresi dolduktan sonra daha fazla belirteç almak için bu belirteci kullanabilir. Yenileme belirteçleri, kaynaklara erişimi uzun süreler boyunca korumak için kullanılabilir. offline_access Kapsam, yenileme belirtecini almak için hem yetkilendirme hem de belirteç isteklerinde kullanılmış olmalıdır. |
Hata yanıtları şöyle görünür:
{
"error": "invalid_grant",
"error_description": "AADB2C90080: The provided grant has expired. Please re-authenticate and try again. Current time: xxxxxxxxxx, Grant issued time: xxxxxxxxxx, Grant expiration time: xxxxxxxxxx\r\nCorrelation ID: xxxxxxxx-xxxx-xxxX-xxxx-xxxxxxxxxxxx\r\nTimestamp: xxxx-xx-16 xx:10:52Z\r\n"
}
Parametre | Açıklama |
---|---|
error | Oluşan hata türlerini sınıflandırmak için kullanılabilecek bir kod. |
error_description | Kimlik doğrulama hatasının kök nedenini belirlemeye yardımcı olabilecek bir ileti. |
Belirteci kullanma
Bir erişim belirtecini başarıyla aldıktan sonra, üst bilgisine ekleyerek arka uç web API'lerinize yönelik isteklerde belirteci Authorization
kullanabilirsiniz:
GET /tasks
Host: mytaskwebapi.com
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5HVEZ2ZEstZnl0aEV1Q...
Belirteci yenileme
Erişim belirteçleri ve kimlik belirteçleri kısa sürelidir. Süresi dolduktan sonra, kaynaklara erişmeye devam etmek için bunları yenilemeniz gerekir. Erişim belirtecini yenilediğinizde Azure AD B2C yeni bir belirteç döndürür. Yenilenen erişim belirteci güncelleştirilmiş nbf
(daha önce değil), iat
(adresinde verilmiştir) ve exp
(süre sonu) talep değerlerine sahip olacaktır. Diğer tüm talep değerleri, önceki erişim belirtecindekilere benzer.
Uç noktaya başka bir POST
istek göndererek belirteci /token
yenileyin. Bu kez parametresi yerine parametresini code
sağlayınrefresh_token
:
POST https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/oauth2/v2.0/token HTTP/1.1
Host: {tenant}.b2clogin.com
Content-Type: application/x-www-form-urlencoded
grant_type=refresh_token
&client_id=90c0fe63-bcf2-44d5-8fb7-b8bbc0b29dc6
&scope=openid offline_access
&refresh_token=AwABAAAAvPM1KaPlrEqdFSBzjqfTGBCmLdgfSTLEMPGYuNHSUYBrq...
&redirect_uri=urn:ietf:wg:oauth:2.0:oob
Başarılı bir belirteç yanıtı şöyle görünür:
{
"not_before": "1442340812",
"token_type": "Bearer",
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5HVEZ2ZEstZnl0aEV1Q...",
"scope": "90c0fe63-bcf2-44d5-8fb7-b8bbc0b29dc6 offline_access",
"expires_in": "3600",
"refresh_token": "AAQfQmvuDy8WtUv-sd0TBwWVQs1rC-Lfxa_NDkLqpg50Cxp5Dxj0VPF1mx2Z...",
"refresh_token_expires_in": "1209600"
}
Parametre | Açıklama |
---|---|
not_before | Belirtecin geçerli olduğu dönem süresi. |
token_type | Belirteç türü değeri. Bearer desteklenen tek türdür. |
access_token | İstenen imzalı JWT belirteci. |
kapsam | Belirteç için geçerli kapsamlar. |
expires_in | Erişim belirtecinin geçerli olduğu süre (saniye cinsinden). |
refresh_token | OAuth 2.0 yenileme belirteci. Uygulama, geçerli belirtecin süresi dolduktan sonra ek belirteçler almak için bu belirteci kullanabilir. Yenileme belirteçleri, kaynaklara erişimi uzun süreler boyunca korumak için kullanılabilir. |
refresh_token_expires_in | Yenileme belirtecinin geçerli olduğu süre (saniye cinsinden). |
Hata yanıtları şöyle görünür:
{
"error": "invalid_grant",
"error_description": "AADB2C90129: The provided grant has been revoked. Please reauthenticate and try again.\r\nCorrelation ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\r\nTimestamp: xxxx-xx-xx xx:xx:xxZ\r\n",
}
Parametre | Açıklama |
---|---|
error | Oluşan hata türlerini sınıflandırmak için kullanılabilecek bir kod. |
error_description | Kimlik doğrulama hatasının kök nedenini belirlemeye yardımcı olabilecek bir ileti. |
Oturum kapatma isteği gönderme
Kullanıcının uygulama oturumunu kapatmak istediğinizde, uygulamanın tanımlama bilgilerini temizlemek veya kullanıcıyla oturumu başka bir şekilde sonlandırmak yeterli değildir. Oturumu kapatmak için kullanıcıyı Azure AD B2C'ye yeniden yönlendirin. Bunu yapmazsanız, kullanıcı kimlik bilgilerini yeniden girmeden uygulamanıza yeniden kimlik doğrulaması yapabilir. Daha fazla bilgi için bkz . Azure AD B2C oturum davranışı.
Kullanıcıyı oturumu kapatmak içinend_session_endpoint
, kullanıcıyı daha önce açıklanan OpenID Bağlan meta veri belgesinde listelenene yeniden yönlendirin:
GET https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/oauth2/v2.0/logout?post_logout_redirect_uri=https%3A%2F%2Fjwt.ms%2F
Parametre | Zorunlu | Açıklama |
---|---|---|
{tenant} | Evet | Azure AD B2C kiracınızın adı. Özel bir etki alanı kullanıyorsanız, değerini gibi fabrikam.com etki alanınızla değiştirintenant.b2clogin.com . |
{policy} | Evet | Yetkilendirme isteğinde belirttiğiniz kullanıcı akışı. Örneğin, kullanıcı kullanıcı akışıyla b2c_1_sign_in oturum açtıysa, oturum kapatma isteğinde belirtin b2c_1_sign_in . |
id_token_hint | No | Son kullanıcının istemciyle geçerli kimliği doğrulanmış oturumu hakkında ipucu olarak oturumu kapatma uç noktasına geçirmek için daha önce verilmiş bir kimlik belirteci. , id_token_hint Azure AD B2C uygulama ayarlarınızda kayıtlı bir yanıt URL'si olmasını sağlar post_logout_redirect_uri . Daha fazla bilgi için bkz . Oturumu kapatma yeniden yönlendirmenizin güvenliğini sağlama. |
client_id | No* | Azure portalının uygulamanıza atadığı uygulama kimliği. *Bu, yalıtım SSO yapılandırması kullanılırken Application gereklidir ve Oturum kapatma isteğinde Kimlik Belirteci gerektir ayarı olarak No ayarlanır. |
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. sağlamadığınız id_token_hint sürece, bu URL'yi Azure AD B2C uygulama ayarlarınıza yanıt URL'si olarak kaydetmemelisiniz. |
semt | No | Yetkilendirme isteğine bir state parametre eklerseniz, yetkilendirme sunucusu yanıtındaki post_logout_redirect_uri aynı değeri döndürür. Uygulama, istek ve yanıttaki değerin state aynı olduğunu doğrulamalıdır. |
Oturum kapatma isteği üzerine Azure AD B2C, Azure AD B2C tanımlama bilgisi tabanlı oturumu geçersiz kılır ve federasyon kimlik sağlayıcılarının oturumunu kapatmaya çalışır. Daha fazla bilgi için bkz . Çoklu oturum kapatma.
Oturumu kapatma yeniden yönlendirmenizin güvenliğini sağlama
Oturumu kapatıldıktan sonra kullanıcı, uygulama için belirttiğiniz yanıt URL'lerinden bağımsız olarak parametresinde post_logout_redirect_uri
belirttiğiniz URI'ye yönlendirilir. Ancak geçerli id_token_hint
bir ileti geçirilirse ve oturum kapatma isteklerinde Kimlik Belirteci Gerektir seçeneği açıksa Azure AD B2C, yeniden yönlendirmeyi gerçekleştirmeden önce değerinin post_logout_redirect_uri
uygulamanın yapılandırılmış yeniden yönlendirme URI'lerinden biriyle eşleşip eşleşmediğini doğrular. Uygulama için eşleşen yanıt URL'si yapılandırılmadıysa, bir hata iletisi görüntülenir ve kullanıcı yeniden yönlendirilmiyor.
Oturum kapatma isteklerinde gerekli Kimlik Belirtecini ayarlamak için bkz . Azure Active Directory B2C'de oturum davranışını yapılandırma.
Sonraki adımlar
- Azure AD B2C oturumu hakkında daha fazla bilgi edinin.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin