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 , code vagy 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. openid Pé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_post client_secret_basic van á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: