Azure Active Directory B2C özel ilkesinde OpenID Connect teknik profili tanımlama

Ö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.

Not

Azure Active Directory B2C'de özel ilkeler öncelikli olarak karmaşık senaryoları ele almak için tasarlanmıştır. Çoğu senaryoda, yerleşik kullanıcı akışlarını kullanmanızı öneririz. Bunu yapmadıysanız, Active Directory B2C'de özel ilkeleri kullanmaya başlama bölümünde özel ilke başlangıç paketi hakkında bilgi edinin.

Azure Active Directory B2C (Azure AD B2C), OpenID Connect protokolü kimlik sağlayıcısı için destek sağlar. OpenID Connect 1.0, OAuth 2.0'ın üzerinde bir kimlik katmanı tanımlar ve modern kimlik doğrulama protokollerinde en son durumu temsil eder. OpenID Connect teknik profiliyle, Microsoft Entra Id gibi OpenID Connect tabanlı bir kimlik sağlayıcısıyla federasyon oluşturabilirsiniz. Kimlik sağlayıcısıyla federasyon, kullanıcıların mevcut sosyal veya kurumsal kimlikleriyle oturum açmasına olanak tanır.

Protokol

Protocol öğesinin Name özniteliği olarak ayarlanmalıdırOpenIdConnect. Örneğin, MSA-OIDC teknik profilinin

<TechnicalProfile Id="MSA-OIDC">
  <DisplayName>Microsoft Account</DisplayName>
  <Protocol Name="OpenIdConnect" />
  ...

Giriş talepleri

InputClaims ve InputClaimsTransformations öğeleri gerekli değildir. Ancak kimlik sağlayıcınıza ek parametreler göndermek isteyebilirsiniz. Aşağıdaki örnek, yetkilendirme isteğine sorgu dizesi parametresini ekler.

<InputClaims>
  <InputClaim ClaimTypeReferenceId="domain_hint" DefaultValue="contoso.com" />
</InputClaims>

Çıkış talepleri

OutputClaims öğesi, OpenID Connect kimlik sağlayıcısı tarafından döndürülen taleplerin listesini içerir. İlkenizde tanımlanan talebin adını kimlik sağlayıcısında tanımlanan adla eşlemeniz gerekebilir. Ayrıca, özniteliğini ayarladığınız DefaultValue sürece kimlik sağlayıcısı tarafından döndürülmeyecek talepleri de ekleyebilirsiniz.

OutputClaimsTransformations öğesi, çıkış taleplerini değiştirmek veya yenilerini oluşturmak için kullanılan OutputClaimsTransformation öğelerinin bir koleksiyonunu içerebilir.

Aşağıdaki örnekte, Microsoft Hesabı kimlik sağlayıcısı tarafından döndürülen talepler gösterilmektedir:

  • IssuerUserId talebine eşlenen alt talep.
  • displayName talebine eşlenen ad talebi.
  • Ad eşlemesi olmayan e-posta.

Teknik profil, kimlik sağlayıcısı tarafından döndürülmeyen talepleri de döndürür:

  • Kimlik sağlayıcısının adını içeren identityProvider talebi.
  • socialIdpAuthentication varsayılan değerine sahip authenticationSource talebi.
<OutputClaims>
  <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="live.com" />
  <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" />
  <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="sub" />
  <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name" />
  <OutputClaim ClaimTypeReferenceId="email" />
</OutputClaims>

Meta veri

Öznitelik Zorunlu Açıklama
müşteri_kimlik Evet Kimlik sağlayıcısının uygulama tanımlayıcısı.
IdTokenAudience (IdTokenAudience) Hayır id_token izleyicileri. Belirtilirse, Azure AD B2C kimlik sağlayıcısı tarafından döndürülen bir belirteçteki talebin IdTokenAudience meta verilerinde belirtilene eşit olup olmadığını aud denetler.
META VERILER Evet OpenID Connect kimlik sağlayıcısı yapılandırma belgesine işaret eden ve iyi bilinen OpenID yapılandırma uç noktası olarak da bilinen bir URL. URL, kiracı adıyla değiştirilen ifadeyi içerebilir {tenant} .
yetkilendirme_bağlantı_noktası Hayır OpenID Connect kimlik sağlayıcısı yapılandırma yetkilendirme uç noktasına işaret eden bir URL. authorization_endpoint meta verilerinin değeri, OpenID iyi bilinen yapılandırma uç noktasında belirtilenden önceliklidir authorization_endpoint . URL, kiracı adıyla değiştirilen ifadeyi içerebilir {tenant} .
end_session_endpoint Hayır Son oturum uç noktasının URL'si. Meta verilerin değeri end_session_endpoint , OpenID iyi bilinen yapılandırma uç noktasında belirtilenden önceliklidir end_session_endpoint .
yayınlayan Hayır OpenID Connect kimlik sağlayıcısının benzersiz tanımlayıcısı. Veren meta verilerinin değeri, OpenID iyi bilinen yapılandırma uç noktasında belirtilenden önceliklidir issuer . Belirtilirse, Azure AD B2C kimlik sağlayıcısı tarafından döndürülen bir belirteçteki talebin veren meta verilerinde belirtilene eşit olup olmadığını iss denetler.
SağlayıcıAdı Hayır Kimlik sağlayıcısının adı.
response_types Hayır OpenID Connect Core 1.0 belirtimine göre yanıt türü. Olası değerler: id_token, codeveya token.
yanıt_modu Hayır Kimlik sağlayıcısının sonucu Azure AD B2C'ye geri göndermek için kullandığı yöntem. Olası değerler: query, form_post (varsayılan) veya fragment.
kapsam Hayır OpenID Connect Core 1.0 belirtimine göre tanımlanan isteğin kapsamı. , ve openidgibiprofileemail.
HttpBinding (HttpBağlama) Hayır Erişim belirteci ve talep belirteci uç noktalarına beklenen HTTP bağlaması. Olası değerler: GET veya POST.
ValidTokenIssuerPrefixes Hayır Microsoft Entra Id gibi çok kiracılı bir kimlik sağlayıcısı kullanılırken kiracıların her birinde oturum açmak için kullanılabilecek bir anahtar.
UsePolicyInRedirectUri Hayır Yeniden yönlendirme URI'sini oluştururken ilkenin kullanılıp kullanılmayacağını gösterir. Uygulamanızı kimlik sağlayıcısında yapılandırırken yeniden yönlendirme URI'sini belirtmeniz gerekir. Yeniden yönlendirme URI'si Azure AD B2C, https://{your-tenant-name}.b2clogin.com/{your-tenant-name}.onmicrosoft.com/oauth2/authrespöğesine işaret ediyor. belirtirseniz true, kullandığınız her ilke için bir yeniden yönlendirme URI'sini eklemeniz gerekir. Örneğin: https://{your-tenant-name}.b2clogin.com/{your-tenant-name}.onmicrosoft.com/{policy-name}/oauth2/authresp.
MarkAsFailureOnStatusCode5xx Hayır HTTP durum kodu 5xx aralığındaysa, dış hizmete yapılan bir isteğin hata olarak işaretlenip işaretlenmeyeceğini belirtir. Varsayılan değer: false.
DiscoverMetadataByTokenIssuer Hayır OIDC meta verilerinin JWT'de veren kullanılarak bulunup bulunmayacağını belirtir. Meta veri uç noktası URL'sini Veren'e göre oluşturmanız gerekiyorsa bunu şu şekilde trueayarlayın: .
IncludeClaimResolvingInClaimsHandling Hayır Giriş ve çıkış talepleri için, talep çözümlemesinin teknik profile dahil edilip edilmeyeceğini belirtir. Olası değerler: trueveya false (varsayılan). Teknik profilde bir talep çözümleyicisi kullanmak istiyorsanız, bunu olarak trueayarlayın.
token_endpoint_auth_method Hayır Azure AD B2C'nin kimlik doğrulama üst bilgisini belirteç uç noktasına nasıl gönderdiğini belirtir. Olası değerler: client_secret_post (varsayılan) ve client_secret_basic, private_key_jwt. Daha fazla bilgi için bkz . OpenID Connect istemci kimlik doğrulaması bölümü.
token_signing_algorithm Hayır olarak ayarlandığında kullanılacak token_endpoint_auth_method imzalama algoritmasını private_key_jwtbelirtir. Olası değerler: RS256 (varsayılan) veya RS512.
SingleLogoutEnabled Hayır Teknik profilde oturum açma sırasında federasyon kimlik sağlayıcılarının oturumunu kapatma girişiminde bulunup bulunmayacağını gösterir. Daha fazla bilgi için bkz . Azure AD B2C oturumu oturumu kapatma. Olası değerler: true (varsayılan) veya false.
ReadBodyClaimsOnIdpRedirect Hayır true Kimlik sağlayıcısı yeniden yönlendirmesinde yanıt gövdesinden talepleri okumak için olarak ayarlayın. Bu meta veriler, taleplerin yanıt yükünde döndürdüğü Apple Kimliği ile kullanılır.
<Metadata>
  <Item Key="ProviderName">https://login.live.com</Item>
  <Item Key="METADATA">https://login.live.com/.well-known/openid-configuration</Item>
  <Item Key="response_types">code</Item>
  <Item Key="response_mode">form_post</Item>
  <Item Key="scope">openid profile email</Item>
  <Item Key="HttpBinding">POST</Item>
  <Item Key="UsePolicyInRedirectUri">false</Item>
  <Item Key="client_id">Your Microsoft application client ID</Item>
</Metadata>

Kullanıcı arabirimi öğeleri

Hata durumunda görüntülenen hata iletisini yapılandırmak için aşağıdaki ayarlar kullanılabilir. Meta veriler OpenID Connect teknik profilinde yapılandırılmalıdır. Hata iletileri yerelleştirilebilir.

Öznitelik Zorunlu Açıklama
UserMessageIfClaimsPrincipalDoesNotExist Hayır Sağlanan kullanıcı adına sahip bir hesap dizinde bulunmazsa kullanıcıya görüntülenecek ileti.
UserMessageIfInvalidPassword Hayır Parola yanlışsa kullanıcıya görüntülenecek ileti.
UserMessageIfOldPasswordUsed Hayır Eski bir parola kullanılıyorsa kullanıcıya görüntülenecek ileti.

Şifreleme anahtarları

CryptographicKeys öğesi aşağıdaki özniteliği içerir:

Öznitelik Zorunlu Açıklama
istemci_sırrı Evet Kimlik sağlayıcısı uygulamasının istemci gizli dizisi. Bu şifreleme anahtarı yalnızca response_types meta verileri olarak ve code gereklidir. Bu durumda, Azure AD B2C bir erişim belirteci için yetkilendirme kodunu değiştirmek için başka bir çağrı yapar. Meta veriler olarak id_token ayarlandıysa şifreleme anahtarını atlayabilirsiniz.
assertion_signing_key Evet İstemci onayını imzalamak için kullanılacak RSA özel anahtarı. Bu şifreleme anahtarı yalnızca token_endpoint_auth_methodgereklidir.

Yeniden yönlendirme URI'si

Kimlik sağlayıcınızın yeniden yönlendirme URI'sini yapılandırırken girin https://{your-tenant-name}.b2clogin.com/{your-tenant-name}.onmicrosoft.com/oauth2/authresp. değerini kiracınızın adıyla değiştirdiğinden {your-tenant-name} emin olun. Yeniden yönlendirme URI'sinin küçük harfle yazılması gerekir.

Örnekler: