Megosztás a következőn keresztül:


OpenID Connect műszaki profil definiálása egyéni Azure Active Directory B2C-szabályzatban

Megjegyzés

Az Azure Active Directory B2C-ben az egyéni szabályzatok elsősorban összetett forgatókönyvek kezelésére szolgálnak. A legtöbb esetben javasoljuk, hogy beépített felhasználói folyamatokat használjon. Ha még nem tette meg, tekintse meg az egyéni szabályzatok kezdőcsomagját az Egyéni szabályzatok használatának első lépései az Active Directory B2C-ben című témakörben.

Az Azure Active Directory B2C (Azure AD B2C) támogatja az OpenID Connect protokoll identitásszolgáltatóját. Az OpenID Connect 1.0 egy identitásréteget határoz meg az OAuth 2.0-n, és a modern hitelesítési protokollok korszerű állapotát képviseli. Az OpenID Connect technikai profillal egy OpenID Connect-alapú identitásszolgáltatóval, például Microsoft Entra azonosítóval egyesítheti azokat. Az identitásszolgáltatóval való összevonás lehetővé teszi a felhasználók számára, hogy meglévő közösségi vagy vállalati identitásukkal jelentkezzenek be.

Protokoll

A Protocol elem Name attribútumát a következőre kell állítani: OpenIdConnect. Az MSA-OIDC műszaki profiljának protokollja például a következő OpenIdConnect:

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

Bemeneti jogcímek

Az InputClaims és az InputClaimsTransformations elemekre nincs szükség. Előfordulhat azonban, hogy további paramétereket szeretne küldeni az identitásszolgáltatónak. Az alábbi példa hozzáadja a domain_hint lekérdezési sztring paramétert contoso.com az engedélyezési kérelemhez.

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

Kimeneti jogcímek

Az OutputClaims elem az OpenID Connect identitásszolgáltató által visszaadott jogcímek listáját tartalmazza. Előfordulhat, hogy le kell képeznie a házirendben meghatározott jogcím nevét az identitásszolgáltatóban meghatározott névre. Olyan jogcímeket is megadhat, amelyeket az identitásszolgáltató nem ad vissza, feltéve, hogy beállítja az DefaultValue attribútumot.

Az OutputClaimsTransformations elem tartalmazhat outputClaimsTransformation elemek gyűjteményét, amelyek a kimeneti jogcímek módosítására vagy újak létrehozására használhatók.

Az alábbi példa a Microsoft-fiók identitásszolgáltatója által visszaadott jogcímeket mutatja be:

  • A issuerUserId jogcímre leképezett aljogcím.
  • A displayName jogcímhez leképezett név jogcím.
  • Az e-mail névleképezés nélkül.

A műszaki profil olyan jogcímeket is visszaad, amelyeket az identitásszolgáltató nem ad vissza:

  • Az identitásszolgáltató nevét tartalmazó identityProvider-jogcím .
  • A authenticationSource-jogcím a socialIdpAuthentication alapértelmezett értékével.
<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>

Metaadatok

Attribútum Kötelező Leírás
client_id Yes Az identitásszolgáltató alkalmazásazonosítója.
IdTokenAudience No A id_token közönsége. Ha meg van adva, Azure AD B2C ellenőrzi, hogy az aud identitásszolgáltató által visszaadott jogkivonat jogcíme megegyezik-e az IdTokenAudience metaadataiban megadottval.
METAADAT Yes Az OpenID Connect identitásszolgáltató konfigurációs dokumentumára mutató URL-cím, más néven OpenID jól ismert konfigurációs végpont. Az URL-cím tartalmazhat egy {tenant} kifejezést, amelyet a bérlő nevére cserél.
authorization_endpoint No Az OpenID Connect identitásszolgáltató konfigurációs engedélyezési végpontra mutató URL-cím. A authorization_endpoint metaadatok értéke elsőbbséget élvez az authorization_endpoint OpenID jól ismert konfigurációs végpontjában megadott értékkel szemben. Az URL-cím tartalmazhat egy {tenant} kifejezést, amelyet a bérlő nevére cserél.
end_session_endpoint No A munkamenetvégpont URL-címe. A metaadatok értéke end_session_endpoint elsőbbséget élvez az end_session_endpoint OpenID jól ismert konfigurációs végpontjában megadott értékkel szemben.
kiállító No Egy OpenID Connect-identitásszolgáltató egyedi azonosítója. A kiállítói metaadatok értéke elsőbbséget élvez az issuer OpenID jól ismert konfigurációs végpontjában megadott értékkel szemben. Ha meg van adva, Azure AD B2C ellenőrzi, hogy az iss identitásszolgáltató által visszaadott jogkivonat jogcíme megegyezik-e a kiállító metaadataiban megadottval.
ProviderName No Az identitásszolgáltató neve.
response_types No A válasz típusa az OpenID Connect Core 1.0 specifikációja szerint. Lehetséges értékek: id_token, codevagy token.
response_mode No Az az metódus, amellyel az identitásszolgáltató visszaküldi az eredményt Azure AD B2C-nek. Lehetséges értékek: query, form_post (alapértelmezett) vagy fragment.
scope No Az OpenID Connect Core 1.0 specifikációja szerint definiált kérés hatóköre. openidPéldául, , profileés email.
HttpBinding No A hozzáférési jogkivonathoz és a jogcímek jogkivonatvégpontjaihoz való várt HTTP-kötés. Lehetséges értékek: GET vagy POST.
ValidTokenIssuerPrefixes No Egy kulcs, amellyel bejelentkezhet az egyes bérlőkbe, ha több-bérlős identitásszolgáltatót használ, például Microsoft Entra azonosítót.
UsePolicyInRedirectUri No Azt jelzi, hogy használjon-e szabályzatot az átirányítási URI létrehozásakor. Ha az alkalmazást az identitásszolgáltatóban konfigurálja, meg kell adnia az átirányítási URI-t. Az átirányítási URI a következőre mutat: Azure AD B2C, https://{your-tenant-name}.b2clogin.com/{your-tenant-name}.onmicrosoft.com/oauth2/authresp. Ha megadja a értéket true, minden egyes használt szabályzathoz hozzá kell adnia egy átirányítási URI-t. Példa: https://{your-tenant-name}.b2clogin.com/{your-tenant-name}.onmicrosoft.com/{policy-name}/oauth2/authresp.
MarkAsFailureOnStatusCode5xx No Azt jelzi, hogy egy külső szolgáltatásra irányuló kérést hibaként kell-e megjelölni, ha a HTTP-állapotkód az 5xx tartományban van. A mező alapértelmezett értéke: false.
DiscoverMetadataByTokenIssuer No Azt jelzi, hogy az OIDC-metaadatokat a JWT-jogkivonat kiállítójának használatával kell-e felderíteni. Ha a metaadat-végpont URL-címét a Kiállító alapján kell létrehoznia, állítsa ezt a értékre true.
IncludeClaimResolvingInClaimsHandling No Bemeneti és kimeneti jogcímek esetén meghatározza, hogy a jogcímek feloldása szerepel-e a műszaki profilban. Lehetséges értékek: true, vagy false (alapértelmezett). Ha egy jogcímfeloldót szeretne használni a műszaki profilban, állítsa ezt a értékre true.
token_endpoint_auth_method No Meghatározza, hogy Azure AD B2C hogyan küldi el a hitelesítési fejlécet a jogkivonatvégpontnak. Lehetséges értékek: client_secret_post (alapértelmezett) és client_secret_basic, private_key_jwt. További információ: OpenID Connect ügyfél-hitelesítés szakasz.
token_signing_algorithm No Megadja az aláírási algoritmust, amelyet akkor kell használni, ha token_endpoint_auth_method a értéke private_key_jwt. Lehetséges értékek: RS256 (alapértelmezett) vagy RS512.
SingleLogoutEnabled No Azt jelzi, hogy a technikai profil bejelentkezése során megkísérel-e kijelentkezni az összevont identitásszolgáltatóktól. További információ: Azure AD B2C-munkamenet kijelentkeztetés. Lehetséges értékek: true (alapértelmezett) vagy false.
ReadBodyClaimsOnIdpRedirect No Állítsa úgy, hogy true beolvassa a jogcímeket a válasz törzséből az identitásszolgáltató átirányítása esetén. Ezt a metaadatot az Apple ID-val használjuk, ahol a jogcímek a válasz hasznos adataiban térnek vissza.
<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>

Felhasználói felület elemei

A következő beállításokkal konfigurálhatja a hiba esetén megjelenő hibaüzenetet. A metaadatokat az OpenID Connect technikai profiljában kell konfigurálni. A hibaüzenetek honosíthatók.

Attribútum Kötelező Leírás
UserMessageIfClaimsPrincipalDoesNotExist No A felhasználó számára megjelenítendő üzenet, ha a megadott felhasználónévvel rendelkező fiók nem található a címtárban.
UserMessageIfInvalidPassword No A felhasználónak megjelenő üzenet, ha a jelszó helytelen.
UserMessageIfOldPasswordUsed No A felhasználónak megjelenő üzenet, ha régi jelszót használ.

Titkosítási kulcsok

A CryptographicKeys elem a következő attribútumot tartalmazza:

Attribútum Kötelező Leírás
client_secret Yes Az identitásszolgáltató alkalmazás titkos ügyfélkódja. Ez a titkosítási kulcs csak akkor szükséges, ha a response_types metaadatok értéke code , és token_endpoint_auth_method vagy értékre client_secret_postclient_secret_basicvan állítva. Ebben az esetben Azure AD B2C egy másik hívást indít a hozzáférési jogkivonat engedélyezési kódjának cseréjére. Ha a metaadatok értékre id_token van állítva, kihagyhatja a titkosítási kulcsot.
assertion_signing_key Yes Az RSA titkos kulcsa, amely az ügyfél helyességi feltételének aláírására szolgál. Ez a titkosítási kulcs csak akkor szükséges, ha a token_endpoint_auth_method metaadatok értéke private_key_jwt.

Átirányítási URI

Az identitásszolgáltató átirányítási URI-jának konfigurálásakor adja meg a következőt https://{your-tenant-name}.b2clogin.com/{your-tenant-name}.onmicrosoft.com/oauth2/authresp: . Ügyeljen arra, hogy a helyére {your-tenant-name} írja be a bérlő nevét. Az átirányítási URI-nak kisbetűsnek kell lennie.

Példák: