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ınamayacak. SSS bölümünden daha fazla bilgi edinebilirsiniz.
OpenID Connect, 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 Connect'in 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.
Uyarı
Açık kaynak kimlik doğrulama kitaplıklarının çoğu uygulamanız için JWT'leri 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 Connect, 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 Connect ayrıca uygulamaların güvenli bir şekilde erişim belirteçleri almasını 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 Connect'i öneririz. 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 Connect protokollerini genişletir. Uygulamanıza kaydolma, oturum açma ve profil yönetimi gibi kullanıcı deneyimleri eklemek için OpenID Connect'i 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ştir:
-
{tenant}
kiracınızın adını dahil ederek. -
00001111-aaaa-2222-bbbb-3333cccc4444
kiracınıza kaydettiğiniz bir uygulamanın uygulama kimliğini kullanarak. -
{application-id-uri}/{scope-name}
kiracınıza kaydettiğiniz bir uygulamanın kimlik URI'si ve kapsamıyla. -
{policy}
kiracınızdaki sahip olduğunuz ilke ismiyle, örneğinb2c_1_sign_in
.
GET /{tenant}.onmicrosoft.com/{policy}/oauth2/v2.0/authorize?
Host: {tenant}.b2clogin.com
client_id=00001111-aaaa-2222-bbbb-3333cccc4444
&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 | Gerekli | Açıklama |
---|---|---|
{kiracı} | Evet |
Azure AD B2C kiracınızın adı.
Özel bir etki alanı kullanıyorsanız, tenant.b2clogin.com 'ni etki alanınızla, örneğin fabrikam.com ile değiştirin. |
{politika} | 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 . |
müşteri_kimlik | Evet | Azure portalının uygulamanıza atadığı uygulama kimliği. |
Nonce | Önerilir | İ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. |
yanıt_türü | Evet | OpenID Connect 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ış öğelerden oluşan kapsam listesi. 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 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. |
Uyarı | Hayı | 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 . |
yönlendirme_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. |
yanıt_modu | Hayı | Sonuçta elde edilen yetkilendirme kodunu uygulamanıza geri göndermek için kullanılan yöntem.
query , form_post veya fragment olabilir. En iyi güvenlik için yanıt modunu kullanmanızı form_post öneririz. |
devlet | Hayı | 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 . |
giriş_ipucu | Hayı | 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. |
etki alanı ipucu | Hayı | 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ıyayönlendirme. |
Özel parametreler | Hayı | özel ilkelerle kullanılabilen özel parametreler. Örneğin, dinamik özel sayfa içeriği URI'siya da anahtar-değer talep çö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 redirect_uri
yöntem kullanılarak belirtilen response_mode
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.
"response_mode=fragment
kullanılarak 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 |
---|---|
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. |
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. |
devlet | İ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 |
---|---|
hata | Oluşan hata türlerini sınıflandırmak için kullanılabilecek bir kod. |
hata açıklaması | Kimlik doğrulama hatasının kök nedenini belirlemeye 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 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.
Uyarı
Açık kaynak kimlik doğrulama kitaplıklarının çoğu uygulamanız için JWT'leri 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,bir uygulamanın çalışma zamanında Azure AD B2C hakkında bilgi almasına olanak tanıyan bir OpenID Connect meta veri uç noktasına sahiptir. 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, b2c_1_sign_in
içindeki fabrikamb2c.onmicrosoft.com
kullanıcı akışı iç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.
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ı kullanabilirsiniz. Bu uç noktada her biri 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 modülüs (n) kullanarak açık 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 iddialar vardır. Örneğin:
-
nonce
Token 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. - Uygulamanız için kimlik belirtecinin verildiğini doğrulamak amacıyla
aud
talebini doğrulayın. Uygulamanızın uygulama ID'si değer olarak verilmelidir. - Kimlik belirteci süresinin dolmadığından emin olmak için
iat
veexp
taleplerini doğrulayın.
Ayrıca gerçekleştirmeniz gereken birkaç doğrulama daha vardır. Doğrulamalar OpenID Connect Core 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.
Yetkilendirme kodunu (kullanarak response_type=code+id_token
) istenen kaynağa bir belirteç için dönüştürebilir, POST
isteğini /token
uç noktasına göndererek yapabilirsiniz. Azure AD B2C'de, istekte kapsamlarını belirterek diğer API'ler için erişim belirteçleri .
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=00001111-aaaa-2222-bbbb-3333cccc4444
&scope=00001111-aaaa-2222-bbbb-3333cccc4444 offline_access
&code=AwABAAAAvPM1KaPlrEqdFSBzjqfTGBCmLdgfSTLEMPGYuNHSUYBrq...
&redirect_uri=urn:ietf:wg:oauth:2.0:oob
Parametre | Gerekli | Açıklama |
---|---|---|
{kiracı} | Evet | Azure AD B2C kiracınızın adı |
{politika} | Evet | Yetkilendirme kodunu almak için kullanılan kullanıcı akışı. Bu istekte farklı bir kullanıcı akışı kullanamazsınız. Bu parametreyi POST gövdesine değil sorgu dizesine ekleyin. |
müşteri_kimlik | Evet | Azure portalının uygulamanıza atadığı uygulama kimliği. |
istemci_sırrı | Evet, Web Apps'te | Azure portalında oluşturulan uygulama gizli anahtarı. İstemci gizli dizileri, istemcinin güvenli bir şekilde bir istemci gizli dizisini depoladığı Web Uygulaması senaryoları için bu akışta kullanılır. Yerel Uygulama (genel istemci) senaryolarında istemci sırları güvenli bir şekilde depolanamaz, bu nedenle bu süreçte kullanılmaz. İstemci sırrı kullanıyorsanız, bunu düzenli olarak değiştirin. |
kod | Evet | Kullanıcı akışının başında edindiğiniz yetkilendirme kodu. |
izin_tipi | Evet | Yetkilendirme kodu akışı için olması gereken hibe türü authorization_code olmalıdır. |
yönlendirme_uri | Hayı |
redirect_uri Yetkilendirme kodunu aldığınız uygulamanın parametresi. |
kapsam | Hayı | Boşlukla ayrılmış öğelerden oluşan kapsam listesi. Bu kapsam, kullanıcının oturum açmasına ve kullanıcı hakkındaki verileri id_token parametreleri biçiminde almasına izin verir. Uygulamanızın istemciyle aynı uygulama kimliğiyle temsil edilen kendi arka uç web API'si için belirteçler almak amacıyla kullanılabilir. Kapsam, offline_access uygulamanızın kaynaklara genişletilmiş erişim için yenileme belirtecine ihtiyacı olduğunu gösterir. |
Başarılı bir belirteç yanıtı şöyle görünür:
{
"not_before": "1442340812",
"token_type": "Bearer",
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5HVEZ2ZEstZnl0aEV1Q...",
"scope": "00001111-aaaa-2222-bbbb-3333cccc4444 offline_access",
"expires_in": "3600",
"expires_on": "1644254945",
"refresh_token": "AAQfQmvuDy8WtUv-sd0TBwWVQs1rC-Lfxa_NDkLqpg50Cxp5Dxj0VPF1mx2Z...",
}
Parametre | Açıklama |
---|---|
öncesinde değil | Belirtecin geçerli hâle geldiği epok zamanı. |
belirteç_tipi | Belirteç türü değeri.
Bearer desteklenen tek türdür. |
erişim_token | İstediğiniz imzalı JWT. |
kapsam | Belirteç için geçerli kapsamlar. |
son_kullanma_süresi | Erişim belirtecinin geçerli olduğu süre (saniye cinsinden). |
sona erme tarihi | Erişim belirtecinin geçersiz hale geldiği dönem süresi. |
yenileme_tokenu | 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 |
---|---|
hata | Oluşan hata türlerini sınıflandırmak için kullanılabilecek bir kod. |
hata açıklaması | Kimlik doğrulama hatasının kök nedenini belirlemeye yardımcı olabilecek bir ileti. |
Belirteci kullan
Başarıyla bir erişim belirteci aldığınızda, bu belirteci isteklerinizde Authorization
başlığına dahil ederek back-end web API’lerinize kullanabilirsiniz.
GET /tasks
Host: mytaskwebapi.com
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5HVEZ2ZEstZnl0aEV1Q...
Belirteci yenile
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 nbf
(daha önce değil), iat
(verildiği tarih) ve exp
(süre sonu) talep değerlerini güncelleştirecektir. Diğer tüm talep değerleri, önceki erişim belirtecindekilere benzer.
POST
isteği ile /token
uç noktasına başka bir istek göndererek belirteci yenileyin. Bu kez parametresi yerine parametresini refresh_token
sağlayıncode
:
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=00001111-aaaa-2222-bbbb-3333cccc4444
&scope=openid offline_access
&refresh_token=AwABAAAAvPM1KaPlrEqdFSBzjqfTGBCmLdgfSTLEMPGYuNHSUYBrq...
&redirect_uri=urn:ietf:wg:oauth:2.0:oob
Parametre | Gerekli | Açıklama |
---|---|---|
{kiracı} | Evet | Azure AD B2C kiracınızın adı |
{politika} | Evet | Özgün yenileme belirtecini almak için kullanılan kullanıcı akışı. Bu istekte farklı bir kullanıcı akışı kullanamazsınız. Bu parametreyi POST gövdesine değil sorgu dizesine ekleyin. |
müşteri_kimlik | Evet | Azure portalının uygulamanıza atadığı uygulama kimliği. |
istemci_sırrı | Evet, Web Apps'te | Azure portalında oluşturulan uygulama gizli anahtarı. İstemci gizli dizileri, istemcinin güvenli bir şekilde bir istemci gizli dizisini depoladığı Web Uygulaması senaryoları için bu akışta kullanılır. Yerel Uygulama (açık istemci) senaryolarında, istemci gizli bilgileri güvenli bir şekilde depolanamayacağı için bu çağrıda kullanılmaz. İstemci sırrı kullanıyorsanız, lütfen bunu belirli aralıklarla değiştirin. |
izin_tipi | Evet | Yetkilendirme kodu akışının bu bölümü için refresh_token olması gereken bağış türü. |
yenileme_tokenu | Evet | Akışın ikinci bölümünde alınan özgün yenileme belirteci. Kapsam, offline_access yenileme belirtecini almak için hem izin hem de token isteklerinde kullanılmalıdır. |
yönlendirme_uri | Hayı |
redirect_uri Yetkilendirme kodunu aldığınız uygulamanın parametresi. |
kapsam | Hayı | Boşlukla ayrılmış öğelerden oluşan kapsam listesi. Kapsam, openid kullanıcının oturum açmasına ve kullanıcı hakkında kimlik belirteci biçiminde veri edinme iznini gösterir. Uygulamanızın, istemciyle aynı uygulama kimliği altında temsil edilen kendi back-end web API'sine belirteç göndermek için kullanılabilir. Kapsam, offline_access uygulamanızın kaynaklara genişletilmiş erişim için yenileme belirtecine ihtiyacı olduğunu gösterir. |
Başarılı bir belirteç yanıtı şöyle görünür:
{
"not_before": "1442340812",
"token_type": "Bearer",
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5HVEZ2ZEstZnl0aEV1Q...",
"scope": "00001111-aaaa-2222-bbbb-3333cccc4444 offline_access",
"expires_in": "3600",
"refresh_token": "AAQfQmvuDy8WtUv-sd0TBwWVQs1rC-Lfxa_NDkLqpg50Cxp5Dxj0VPF1mx2Z...",
"refresh_token_expires_in": "1209600"
}
Parametre | Açıklama |
---|---|
öncesinde değil | Belirtecin geçerli hâle geldiği epok zamanı. |
belirteç_tipi | Belirteç türü değeri.
Bearer desteklenen tek türdür. |
erişim_token | İstenen imzalı JWT. |
kapsam | Belirteç için geçerli kapsamlar. |
son_kullanma_süresi | Erişim belirtecinin geçerli olduğu süre (saniye cinsinden). |
yenileme_tokenu | 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. |
yenileme_jetonu_süresi_doluyor | 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 |
---|---|
hata | Oluşan hata türlerini sınıflandırmak için kullanılabilecek bir kod. |
hata açıklaması | 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ının oturumunu kapatmak için end_session_endpoint
kullanıcıyı daha önce açıklanan OpenID Connect meta veri belgesinde listelenene 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 | Gerekli | Açıklama |
---|---|---|
{kiracı} | Evet | Azure AD B2C kiracınızın adı.
Özel bir etki alanı kullanıyorsanız, tenant.b2clogin.com 'ni etki alanınızla, örneğin fabrikam.com ile değiştirin. |
{politika} | 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 (kimlik jetonu ipucu) | Hayı | Daha önce verilmiş bir kimlik belirteci, son kullanıcının istemci ile kullanıcı arasında var olan kimliği doğrulanmış oturumu hakkında bir ipucu olarak, hesaptan çıkış uç noktasına geçirilir.
id_token_hint , post_logout_redirect_uri öğesinin Azure AD B2C uygulama ayarlarınızda kayıtlı bir yanıt URL'si olmasını sağlar. Daha fazla bilgi için Oturumunuzu kapatma yönlendirmesinin güvenliğini sağlama bölümüne bakın. |
müşteri_kimlik | Hayır* |
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. |
çıkış sonrası yönlendirme URI | Hayı | Kullanıcının oturumu başarıyla kapattıktan sonra yönlendirileceği URL. Eğer dahil edilmezse, Azure AD B2C kullanıcıya genel bir mesaj gösterir.
id_token_hint sağlamadığınız sürece, bu URL'yi Azure AD B2C uygulama ayarlarında yanıt URL'si olarak kaydetmemelisiniz. |
devlet | Hayı | 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. Tek oturum kapatma.
Oturumu kapatma yeniden yönlendirmesini güvenli hale getirin
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.
İlgili içerik
- Azure AD B2C oturumu hakkında daha fazla bilgi edinin.