Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Önemli
1 Mayıs 2025 tarihinden itibaren Azure AD B2C artık yeni müşteriler için satın alınamayacaktır. SSS bölümünden daha fazla bilgi edinebilirsiniz.
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.jsgibi bir çerçeve kullanılarak yazılır. Öncelikli olarak tarayıcıda çalışan SPA'lar ve diğer JavaScript uygulamaları kimlik doğrulaması için bazı ek zorluklara sahiptir:
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.
Tam sayfa tarayıcının uygulamadan uzağa yönlendirilmesi, kullanıcı deneyimine invaziv olabilir.
Uyarı
Microsoft not örtük verme akışını kullanmanızı önerir. SPA'ları desteklemenin önerilen yolu OAuth 2.0 Yetkilendirme kodu akışıdır (PKCE ile). 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.
MSAL.js 1.x gibi bazı çerçeveler yalnızca örtük izin akışını destekler. Bu 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, sayfa yeniden yönlendirmesi veya açılır kutu ile tamamen JavaScript istemcisinde 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, policy parametresini tanıtır. İlke parametresiyle, OAuth 2.0'ı kullanarak uygulamanıza kaydolma, oturum açma ve profil yönetimi kullanıcı akışları gibi ilkeler ekleyebilirsiniz. Bu makaledeki örnek HTTP isteklerinde çizim için {tenant}.onmicrosoft.com kullanılır.
{tenant}'ı kiracınızın adıyla değiştirin, eğer varsa. 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 figürü kullanıyoruz. Her adım makalenin devamında ayrıntılı olarak açıklanmış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ı 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:
Azure AD B2C kiracınızın adıyla
{tenant}.00001111-aaaa-2222-bbbb-3333cccc4444kiracınıza kaydettiğiniz uygulamanın uygulama kimliğiyle birlikte.{policy}kiracınızda oluşturduğunuz bir ilkenin adıyla , örneğinb2c_1_sign_in.
GET https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/oauth2/v2.0/authorize?
client_id=00001111-aaaa-2222-bbbb-3333cccc4444
&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 |
|---|---|---|
| {kiracı} | Evet | Azure AD B2C kiracınızın adı |
| {politika} | Evet | Ç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. |
| müşteri_kimlik | Evet | Azure portalının uygulamanıza atadığı uygulama kimliği. |
| yanıt_türü | Evet | OpenID Connect girişi için id_token dahil 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 belirteci hangi kaynak için verebileceğinizi gösteren bir kapsam içermelidir. |
| yönlendirme_uri | Hayı | 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. |
| yanıt_modu | Hayı | 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. |
| kapsam | Evet | Boşlukla ayrılmış öğelerden oluşan kapsam listesi. Tek bir kapsam değeri, istenen her iki izni de Microsoft Entra ID'ye gösterir. Kapsam, openid kullanıcının oturum açmasına ve kullanıcı hakkında kimlik belirteci biçiminde veri edinme 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. |
| devlet | Hayı | İ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şturulan ve 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 | Evet | İstekte bulunan (uygulama tarafından oluşturulan) ve sonuçta elde edilen kimlik belirtecinde hak olarak yer alan bir değer. Uygulama daha sonra token yenileme saldırılarını önlemek için bu değeri doğrulayabilir. Genellikle değer, isteğin kaynağını tanımlamak için kullanılabilecek rastgele, benzersiz bir dizedir. |
| Uyarı | Hayı | Gerekli kullanıcı etkileşiminin türü. Şu anda tek geçerli değerdir login. Bu parametre kullanıcıyı bu istekte kimlik bilgilerini girmeye zorlar. Tek Sign-On etkili olmaz. |
Bu, akışın etkileşimli bölümüdür. Kullanıcıdan politikanın iş akışını tamamlaması talep edilir. 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 AD B2C Azure redirect_uri aracılığıyla uygulamanıza bir yanıt döndürür.
response_mode parametresinde belirtilen yöntemini kullanır. Yanıt, yürütülen kullanıcı akışından bağımsız olarak kullanıcı eylem senaryolarının her biri için tamamen aynıdır.
Başarılı yanıt
response_mode=fragment ve response_type=id_token+token kullanan başarılı bir yanıt, okunabilirlik için satır sonlarıyla birlikte aşağıdaki gibi görünür:
GET https://aadb2cplayground.azurewebsites.net/#
access_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5HVEZ2ZEstZnl0aEV1Q...
&token_type=Bearer
&expires_in=3599
&scope="00001111-aaaa-2222-bbbb-3333cccc4444 offline_access",
&id_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5HVEZ2ZEstZnl0aEV1Q...
&state=arbitrary_data_you_sent_earlier
| Parametre | Açıklama |
|---|---|
| erişim_token | Uygulamanın Azure AD B2C'den istediği erişim belirteci. |
| belirteç_tipi | Belirteç türü değeri. Azure AD B2C'nin desteklediği tek tür taşıyıcıdır. |
| son_kullanma_süresi | Erişim belirtecinin geçerli olduğu süre (saniye cinsinden). |
| kapsam | Belirtecin geçerli olduğu yetki alanları. Ayrıca kapsamları kullanarak belirteçleri daha sonra kullanılmak üzere önbelleğe alabilirsiniz. |
| kimlik belirteci (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çeriği hakkında daha fazla bilgi için bkz. Azure AD B2C belirteç referansı. |
| devlet | İstekte bir state parametre varsa, yanıtta aynı değer görünmelidir. Uygulama, istek ve yanıttaki state değerlerinin 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 |
|---|---|
| hata | Oluşan hata türlerini sınıflandırmak için kullanılan kod. |
| hata açıklaması | Kimlik doğrulama hatasının kök nedenini belirlemenize yardımcı olabilecek belirli bir hata iletisi. |
| devlet | İstekte bir state parametre varsa, yanıtta aynı değer görünmelidir. Uygulama, istek ve yanıttaki state değerlerinin aynı olduğunu 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.
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ı keşfetmeyi 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, b2c_1_sign_in adındaki kiracıdaki fabrikamb2c.onmicrosoft.com 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 'dir jwks_uri. Aynı kullanıcı akışının değeri şu şekilde 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ı
acrtalepteid_tokendahil edilir. Kimlik belirtecinden talepleri ayrıştırma hakkında bilgi için bkz. Azure AD B2C belirteç referansı.İsteği gönderdiğinizde kullanıcı akışını parametresinin
statedeğerinde kodlar. Ardından, hangi kullanıcı akışının kullanıldığını belirlemek için parametresininstatekodunu çöz.
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. Bu uç noktada herhangi bir zamanda kid tarafından tanımlanan birden çok anahtar listelenmiş olabilir. Başlık id_token, aynı zamanda bir kid talep içerir. Kimlik belirtecini imzalamak için bu anahtarlardan hangisinin kullanıldığını gösterir.
belirteçleri doğrulama hakkında daha fazla bilgi için bkz. Azure AD B2C belirteç referansı.
Kimlik belirtecinin imzasını doğruladıktan sonra, birkaç iddianın doğrulanması gerekir. Örneğin:
nonceToken tekrar yürütme saldırılarını önlemek için hak talebini doğrulayın. Değeri, oturum açma isteğinde belirttiğiniz değer olmalıdır.audUygulamanız için kimlik belirtecinin verildiğinden emin olmak için talebi doğrulayın. Değeri uygulamanızın uygulama kimliği olmalıdır.iatveexptaleplerini doğrulayarak kimlik belirtecinin süresi dolmadığından emin olun.
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 yetkilendirme ve ayrıcalıklara sahip olduğundan emin olun.
Çok faktörlü Microsoft Entra kimlik doğrulaması 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 belirteç referansı.
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ümlerde yer alan bilgiler 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.
Kullanıcıyı SPA'nızda oturum açtığınıza göre, Microsoft Entra ID tarafından 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ç almış olsanı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 /token uç noktasına bir istek gönderirsiniz. 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. Okunaklılık için satır sonları içeren bir örnek aşağıda verilmiştir:
https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/oauth2/v2.0/authorize?
client_id=00001111-aaaa-2222-bbbb-3333cccc4444
&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? | Açıklama |
|---|---|---|
| {kiracı} | Gerekli | Azure AD B2C kiracınızın adı |
| {politika} | 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. |
| müşteri_kimlik | Gerekli | Azure portalında uygulamanıza atanan uygulama kimliği. |
| yanıt_türü | Gerekli | OpenID Connect oturum açma için id_token içermelidir. Ayrıca yanıt türünü tokende içerebilir. Burada 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 belirteci hangi kaynak için verebileceğinizi gösteren bir kapsam içermelidir. |
| yönlendirme_uri | Önerilir | 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. |
| kapsam | Gerekli | Boşlukla ayrılmış öğelerden oluşan kapsam listesi. Belirteçleri almak için, hedeflenen kaynak için ihtiyacınız olan tüm kapsamları ekleyin. |
| yanıt_modu | Önerilir | Sonuçta elde edilen belirteci uygulamanıza geri göndermek için kullanılan yöntemi belirtir. Gizli akış için fragment kullanın. Diğer iki mod, query ve form_post, belirtilebilir ancak örtük akışta çalışmaz. |
| devlet | Önerilir | belirteç yanıtında döndürülen istekte yer alan 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şturulan ve 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 bulunduğu sayfa veya görünüm. |
| Nonce | Gerekli | İstekte yer alan ve sonuçta elde edilen kimlik belirtecinde talep olarak bulunan uygulama tarafından oluşturulan bir değer. Uygulama daha sonra token yenileme saldırılarını önlemek için bu değeri doğrulayabilir. Genellikle değer, isteğin kaynağını tanımlayan rastgele, benzersiz bir dizedir. |
| Uyarı | Gerekli | Gizli bir iframe'de belirteçleri yenilemek ve almak için, iframe'in oturum açma sayfasında takılı kalmamasını ve hemen yanıt vermesini sağlamak üzere prompt=none kullanın. |
| giriş_ipucu | Gerekli | Gizli bir iframe'de belirteçleri yenilemek ve almak için, kullanıcının belirli bir zamanda sahip olabileceği birden çok oturumu ayırt etmek için kullanıcının kullanıcı adını bu ipucuna ekleyin. Önceki bir oturum açmadan kullanıcı adını preferred_username talebini kullanarak ayıklayabilirsiniz (profile talebini alabilmek için preferred_username kapsamında olması gerekir). |
| etki alanı ipucu | Gerekli |
consumers veya organizations olabilir. Gizli bir iframe'de belirteçleri yenilemek ve edinmek için domain_hint değerini isteğe ekleyin. Önceki oturum açmanın kimlik belirtecinden tid talebini ayıklayarak hangi değerin kullanılacağını belirleyin (profile talebini almak için tid kapsamı gereklidir). Eğer tid talep değeri 9188040d-6c67-4c5b-b112-36a304b66dad ise, domain_hint=consumers kullanın. Aksi takdirde domain_hint=organizationskullanın. |
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
"response_mode=fragment kullanılarak verilen 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 |
|---|---|
| erişim_token | Uygulamanın istediği belirteç. |
| belirteç_tipi | Belirteç türü her zaman Bearer olacaktır. |
| devlet | İstekte bir state parametre varsa, yanıtta aynı değer görünmelidir. Uygulama, istek ve yanıttaki state değerlerinin aynı olduğunu doğrulamalıdır. |
| son_kullanma_süresi | Erişim belirtecinin geçerli olduğu süre (saniye). |
| kapsam | 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 |
|---|---|
| hata | 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. |
| hata açıklaması | 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 nedeniyle yenileme jetonu almanıza izin vermez. İki 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 response_type=id_token ve scope=openid öğelerini ve bir nonce parametresini kullandığınızdan emin olun.
Oturum kapatma isteği gönderme
Kullanıcıyı uygulamadan oturumdan çıkarmak istediğinizde, kullanıcıyı Azure AD B2C'nin çıkış uç noktasına 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ı, end_session_endpoint doğrulama bölümünde açıklanan OpenID Connect meta veri belgesinde listelenene yönlendirebilirsiniz. Örneğin:
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 |
|---|---|---|
| {kiracı} | Evet | Azure AD B2C kiracınızın adı. |
| {politika} | Evet | Kullanıcının uygulamanızda oturumunu kapatmak için kullanmak istediğiniz kullanıcı akışı. Bunun, uygulamanın kullanıcının oturumunu açmak için kullandığı kullanıcı akışıyla aynı olması gerekir. |
| çıkış sonrası yönlendirme URI | Hayı | Başarılı bir oturum kapanışından sonra kullanıcının yönlendirileceği URL. Dahil edilmezse, Azure AD B2C kullanıcıya genel bir mesaj gösterir. |
| devlet | Hayı | İ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. |
Uyarı
Kullanıcıyı end_session_endpoint'ye yönlendirmek, Azure AD B2C ile kullanıcının Tek Oturum Açma durumunun bir kısmı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, facebook hesabından tamamen çıkmak istediği anlamına gelmez. Ancak, yerel hesaplar için kullanıcının oturumu düzgün bir şekilde sonlandırılacaktır.
Sonraki Adımlar
Azure AD B2C ile JavaScript SPA'da Oturum Açma kod örneğine bakın.