A jogcímfeloldók ismertetése az Azure Active Directory B2C egyéni szabályzataiban
Az Azure Active Directory B2C (Azure AD B2C) egyéni szabályzataiban a jogcímfeloldók környezeti információkat nyújtanak egy engedélyezési kérelemről, például a szabályzat nevéről, a kérelmek korrelációs azonosítójáról, a felhasználói felület nyelvéről stb.
Ha jogcímfeloldót szeretne használni egy bemeneti vagy kimeneti jogcímben, definiáljon egy Jogcímtípus sztringet a ClaimsSchema elem alatt, majd állítsa be a DefaultValue értéket a jogcímfeloldóra a bemeneti vagy kimeneti jogcímelemben. Az Azure AD B2C beolvassa a jogcímfeloldó értékét, és a műszaki profilban szereplő értéket használja.
Az alábbi példában a jogcímtípus correlationId
neve a következő DataType-tal string
van definiálva: .
<ClaimType Id="correlationId">
<DisplayName>correlationId</DisplayName>
<DataType>string</DataType>
<UserHelpText>Request correlation Id</UserHelpText>
</ClaimType>
A műszaki profilban rendelje le a jogcímfeloldót a jogcímtípushoz. Az Azure AD B2C feltölti a jogcímfeloldó {Context:CorrelationId}
értékét a jogcímbe correlationId
, és elküldi a jogcímet a műszaki profilnak.
<InputClaim ClaimTypeReferenceId="correlationId" DefaultValue="{Context:CorrelationId}" />
Kulturális környezet
Az alábbi táblázat felsorolja a jogcímfeloldókat az engedélyezési kérelemben használt nyelvre vonatkozó információkkal:
Jogcím | Leírás | Példa |
---|---|---|
{Culture:LanguageName} | A nyelv kétbetűs ISO-kódja. | hu |
{Culture:LCID} | A nyelvi kód LCID-je. | 1033 |
{Culture:RegionName} | A régió két betűs ISO-kódja. | US |
{Culture:RFC5646} | A RFC5646 nyelvi kód. | hu-HU |
Tekintse meg a kulturális jogcímfeloldók élő bemutatóját .
Szabályzat
Az alábbi táblázat felsorolja a jogcímfeloldókat az engedélyezési kérelemben használt szabályzattal kapcsolatos információkkal:
Jogcím | Leírás | Példa |
---|---|---|
{Policy:PolicyId} | A függő entitás házirendjének neve. | B2C_1A_signup_signin |
{Policy:RelyingPartyTenantId} | A függő entitás házirendjének bérlőazonosítója. | your-tenant.onmicrosoft.com |
{Policy:TenantObjectId} | A függő entitás házirendjének bérlői objektumazonosítója. | 00000000-0000-0000-0000-000000000000 |
{Policy:TrustFrameworkTenantId} | A megbízhatósági keretrendszer bérlőazonosítója. | your-tenant.onmicrosoft.com |
Tekintse meg a szabályzat jogcímfeloldóinak élő bemutatóját .
Környezet
Az alábbi táblázat az engedélyezési kérelem környezetfüggő jogcímfeloldóinak listáját tartalmazza:
Jogcím | Leírás | Példa |
---|---|---|
{Context:BuildNumber} | Az Identity Experience Framework verziója (buildszám). | 1.0.507.0 |
{Context:CorrelationId} | A korrelációs azonosító. | 00000000-0000-0000-0000-000000000000 |
{Context:DateTimeInUtc} | A dátum időpontja UTC-ben. | 2021.10.10. 12:00:00 |
{Context:DeploymentMode} | A házirend üzembe helyezési módja. | Termelés |
{Context:HostName} | Az aktuális kérés állomásneve. | contoso.b2clogin.com |
{Context:IPAddress} | A felhasználó IP-címe. | 11.111.111.11 |
{Context:KMSI} | Azt jelzi, hogy be van-e jelölve a Be van-e jelentkezve a jelölőnégyzet. | true |
Tekintse meg a környezeti jogcímfeloldók élő bemutatóját .
Igénylések
Ez a szakasz azt ismerteti, hogyan kérhet le jogcímértéket jogcímfeloldóként.
Jogcím | Leírás | Példa |
---|---|---|
{Jogcím:jogcím típusa} | Egy jogcímtípus azonosítója, amely már definiálva van a szabályzatfájl Vagy a szülőházirendfájl ClaimsSchema szakaszában. Például: {Claim:displayName} , vagy {Claim:objectId} . |
Jogcímtípus értéke. |
OpenID Connect
Az alábbi táblázat az OpenID Connect engedélyezési kéréssel kapcsolatos információkat tartalmazó jogcímfeloldókat sorolja fel:
Jogcím | Leírás | Példa |
---|---|---|
{OIDC:AuthenticationContextReferences} | A lekérdezési acr_values sztring paramétere. |
n/a |
{OIDC:ClientId} | A lekérdezési client_id sztring paramétere. |
00001111-aaaa-2222-bbbb-3333cccc4444 |
{OIDC:DomainHint} | A lekérdezési domain_hint sztring paramétere. |
facebook.com |
{OIDC:LoginHint} | A lekérdezési login_hint sztring paramétere. |
someone@contoso.com |
{OIDC:MaxAge} |
max_age . |
n/a |
{OIDC:Nonce} | A lekérdezési Nonce sztring paramétere. |
defaultNonce |
{OIDC:Password} | Az erőforrás-tulajdonos jelszavas hitelesítő adatai a felhasználó jelszavát áramlik . | password1 |
{OIDC:Prompt} | A lekérdezési prompt sztring paramétere. |
bejelentkezés |
{OIDC:RedirectUri} | A lekérdezési redirect_uri sztring paramétere. |
https://jwt.ms |
{OIDC:Resource} | A lekérdezési resource sztring paramétere. |
n/a |
{OIDC:Scope} | A lekérdezési scope sztring paramétere. |
openid |
{OIDC:Username} | Az erőforrás-tulajdonos jelszavas hitelesítő adatai a felhasználó felhasználónevét áramlik . | emily@contoso.com |
{OIDC:IdToken} | A lekérdezési id token sztring paramétere. |
n/a |
Tekintse meg az OpenID Connect-jogcímfeloldók élő bemutatóját .
OAuth2 kulcs-érték paraméterek
Az OIDC- vagy OAuth2-kérések részeként szereplő paraméterek neve leképezhető egy jogcímre a felhasználói folyamat során. Előfordulhat például, hogy az alkalmazás kérése tartalmaz egy lekérdezési sztring paramétert, amelynek neve , loyalty_number
vagy bármilyen egyéni lekérdezési app_session
sztring.
Jogcím | Leírás | Példa |
---|---|---|
{OAUTH-KV:campaignId} | Lekérdezési sztringparaméter. | Hawaii |
{OAUTH-KV:app_session} | Lekérdezési sztringparaméter. | A3C5R |
{OAUTH-KV:loyalty_number} | Lekérdezési sztringparaméter. | 1234 |
{OAUTH-KV:bármely egyéni lekérdezési sztring} | Lekérdezési sztringparaméter. | n/a |
SAML kulcs-érték paraméterek
SAML-hitelesítési kérelemben a kérelemben szereplő, de a protokollra nem jellemző paraméterek neve (például SAMLRequest) leképezhető egy jogcímre a felhasználói folyamat során. A kérés tartalmazhat például egy egyéni paramétert, például username
. Ez az SP által kezdeményezett és az IDP által kezdeményezett SAML-kérelmekre is vonatkozik.
Jogcím | Leírás | Példa |
---|---|---|
{SAML-KV:username} | Lekérdezési sztring vagy POST törzsparaméter. | username@domain.com |
{SAML-KV:loyalty_number} | Lekérdezési sztring vagy POST törzsparaméter. | 1234 |
{SAML-KV:bármely egyéni lekérdezési sztring} | Lekérdezési sztring vagy POST törzsparaméter. | n/a |
SAML
Az alábbi táblázat a jogcímfeloldókat sorolja fel az SAML engedélyezési kérelemre vonatkozó információkkal:
Jogcím | Leírás | Példa |
---|---|---|
{SAML:AuthnContextClassReferences} | Az AuthnContextClassRef elem értéke az SAML-kérelemből. |
urn:oázis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport |
{SAML:NameIdPolicyFormat} | Az Format attribútum az NameIDPolicy SAML-kérelem eleméből. |
urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress |
{SAML:Issuer} | Az SAML-kérelem SAML-elemértéke Issuer . |
https://contoso.com |
{SAML:AllowCreate} | Az AllowCreate attribútum értéke az NameIDPolicy SAML-kérelem eleméből. |
Igaz |
{SAML:ForceAuthn} | Az ForceAuthN attribútum értéke az AuthnRequest SAML-kérelem eleméből. |
Igaz |
{SAML:ProviderName} | Az ProviderName attribútum értéke az AuthnRequest SAML-kérelem eleméből. |
Contoso.com |
{SAML:RelayState} | A lekérdezési RelayState sztring paramétere. |
|
{SAML:Subject} | Az Subject SAML AuthN-kérelem NameId eleme. |
|
{SAML:Binding} | Az ProtocolBinding attribútum értéke az AuthnRequest SAML-kérelem eleméből. |
urn:oázis:names:tc:SAML:2.0:bindings:HTTP-POST |
Tekintse meg az SAML-jogcímfeloldók élő bemutatóját .
OAuth2 identitásszolgáltató
Az alábbi táblázat az OAuth2 identitásszolgáltatói jogcímfeloldókat sorolja fel:
Jogcím | Leírás | Példa |
---|---|---|
{oauth2:access_token} | Az OAuth2 identitásszolgáltató hozzáférési jogkivonata. Az access_token attribútum. |
eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1Ni... |
{oauth2:token_type} | A hozzáférési jogkivonat típusa. Az token_type attribútum. |
Vivő |
{oauth2:expires_in} | A hozzáférési jogkivonat érvényességének időtartama másodpercben. Az expires_in attribútum. A DataType kimeneti jogcímnek int vagy long . |
960000 |
{oauth2:refresh_token} | Az OAuth2 identitásszolgáltatók frissítik a jogkivonatot. Az refresh_token attribútum. |
eyJraWQiOiJacW9pQlp2TW5pYVc2MUY... |
Az OAuth2 identitásszolgáltatói jogcímfeloldók használatához állítsa be a kimeneti jogcím attribútumát PartnerClaimType
a jogcímfeloldóhoz. Az alábbi példa a külső identitásszolgáltató jogcímeinek lekérését mutatja be:
<ClaimsProvider>
<DisplayName>Contoso</DisplayName>
<TechnicalProfiles>
<TechnicalProfile Id="Contoso-OAUTH">
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="identityProviderAccessToken" PartnerClaimType="{oauth2:access_token}" />
<OutputClaim ClaimTypeReferenceId="identityProviderAccessTokenType" PartnerClaimType="{oauth2:token_type}" />
<OutputClaim ClaimTypeReferenceId="identityProviderAccessTokenExpiresIn" PartnerClaimType="{oauth2:expires_in}" />
<OutputClaim ClaimTypeReferenceId="identityProviderRefreshToken" PartnerClaimType="{oauth2:refresh_token}" />
</OutputClaims>
...
</TechnicalProfile>
</TechnicalProfiles>
</ClaimsProvider>
Jogcímfeloldók használata
A jogcímfeloldókat a következő elemekkel használhatja:
Elem | Elem | Beállítások |
---|---|---|
Application Insights technikai profil | InputClaim |
|
Microsoft Entra műszaki profil |
InputClaim , OutputClaim |
1, 2 |
OAuth2 műszaki profil |
InputClaim , OutputClaim |
1, 2 |
OpenID Connect technikai profil |
InputClaim , OutputClaim |
1, 2 |
Jogcímátalakítás műszaki profilja |
InputClaim , OutputClaim |
1, 2 |
RESTful szolgáltatói műszaki profil | InputClaim |
1, 2 |
SAML-identitásszolgáltató műszaki profilja | OutputClaim |
1, 2 |
Önérvényesített műszaki profil |
InputClaim , OutputClaim |
1, 2 |
ContentDefinition | LoadUri |
|
ContentDefinitionParameters | Parameter |
|
A RelyingParty műszaki profilja | OutputClaim |
2 |
Beállítások:
- A
IncludeClaimResolvingInClaimsHandling
metaadatokat a következőretrue
kell állítani: . - A bemeneti vagy kimeneti jogcím attribútumot
AlwaysUseDefaultValue
a következőretrue
kell állítani: .
Jogcímfeloldók mintái
RESTful technikai profil
Egy RESTful technikai profilban érdemes lehet elküldeni a felhasználói nyelvet, a szabályzat nevét, hatókörét és ügyfél-azonosítóját. A jogcímek alapján a REST API egyéni üzleti logikát futtathat, és szükség esetén honosított hibaüzenetet jeleníthet meg.
Az alábbi példa egy RESTful technikai profilt mutat be ezzel a forgatókönyvvel:
<TechnicalProfile Id="REST">
<DisplayName>Validate user input data and return loyaltyNumber claim</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.RestfulProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<Metadata>
<Item Key="ServiceUrl">https://your-app.azurewebsites.net/api/identity</Item>
<Item Key="AuthenticationType">None</Item>
<Item Key="SendClaimsIn">Body</Item>
<Item Key="IncludeClaimResolvingInClaimsHandling">true</Item>
</Metadata>
<InputClaims>
<InputClaim ClaimTypeReferenceId="userLanguage" DefaultValue="{Culture:LCID}" AlwaysUseDefaultValue="true" />
<InputClaim ClaimTypeReferenceId="policyName" DefaultValue="{Policy:PolicyId}" AlwaysUseDefaultValue="true" />
<InputClaim ClaimTypeReferenceId="scope" DefaultValue="{OIDC:Scope}" AlwaysUseDefaultValue="true" />
<InputClaim ClaimTypeReferenceId="clientId" DefaultValue="{OIDC:ClientId}" AlwaysUseDefaultValue="true" />
</InputClaims>
<UseTechnicalProfileForSessionManagement ReferenceId="SM-Noop" />
</TechnicalProfile>
Közvetlen bejelentkezés
A jogcímfeloldók használatával előre feltöltheti a bejelentkezési nevet, vagy közvetlenül bejelentkezhet egy adott közösségi identitásszolgáltatóhoz, például a Facebookhoz, a LinkedInhez vagy egy Microsoft-fiókhoz. További információ: Közvetlen bejelentkezés beállítása az Azure Active Directory B2C használatával.
Dinamikus felhasználói felület testreszabása
Az Azure AD B2C lehetővé teszi, hogy lekérdezési sztringparamétereket adjon át a HTML-tartalomdefiníciós végpontoknak a laptartalom dinamikus megjelenítéséhez. Ez a funkció lehetővé teszi például az Azure AD B2C regisztrációs vagy bejelentkezési oldal háttérképének módosítását a webes vagy mobilalkalmazásból átadott egyéni paraméter alapján. További információ: A felhasználói felület dinamikus konfigurálása egyéni szabályzatok használatával az Azure Active Directory B2C-ben. A HTML-oldalt nyelvparaméter alapján is honosíthatja, vagy módosíthatja a tartalmat az ügyfélazonosító alapján.
Az alábbi példa a campaignId nevű lekérdezési sztringparamétert adja át az ügyfélazonosítót képviselő értékévelHawaii
, nyelvkódjával en-US
és alkalmazásával:
<UserJourneyBehaviors>
<ContentDefinitionParameters>
<Parameter Name="campaignId">{OAUTH-KV:campaignId}</Parameter>
<Parameter Name="language">{Culture:RFC5646}</Parameter>
<Parameter Name="app">{OIDC:ClientId}</Parameter>
</ContentDefinitionParameters>
</UserJourneyBehaviors>
Ennek eredményeképpen az Azure AD B2C elküldi a fenti paramétereket a HTML-tartalom oldalára:
/selfAsserted.aspx?campaignId=hawaii&language=en-US&app=0239a9cc-309c-4d41-87f1-31288feb2e82
Tartalomdefiníció
A ContentDefinitionbenLoadUri
a jogcímfeloldókat elküldheti a különböző helyekről származó tartalom lekéréséhez a használt paraméterek alapján.
<ContentDefinition Id="api.signuporsignin">
<LoadUri>https://contoso.blob.core.windows.net/{Culture:LanguageName}/myHTML/unified.html</LoadUri>
...
</ContentDefinition>
Application Insights technikai profil
A Azure-alkalmazás Insights és a jogcímfeloldók segítségével betekintést nyerhet a felhasználói viselkedésbe. Az Application Insights technikai profiljában olyan bemeneti jogcímeket küld, amelyek megmaradnak a Azure-alkalmazás Insightsba. További információ: Felhasználói viselkedés nyomon követése az Azure AD B2C-folyamatokban az Application Insights használatával. Az alábbi példa elküldi a szabályzatazonosítót, a korrelációs azonosítót, a nyelvet és az ügyfélazonosítót a Azure-alkalmazás Insightsnak.
<TechnicalProfile Id="AzureInsights-Common">
<DisplayName>Alternate Email</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.Insights.AzureApplicationInsightsProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
...
<InputClaims>
<InputClaim ClaimTypeReferenceId="PolicyId" PartnerClaimType="{property:Policy}" DefaultValue="{Policy:PolicyId}" />
<InputClaim ClaimTypeReferenceId="CorrelationId" PartnerClaimType="{property:CorrelationId}" DefaultValue="{Context:CorrelationId}" />
<InputClaim ClaimTypeReferenceId="language" PartnerClaimType="{property:language}" DefaultValue="{Culture:RFC5646}" />
<InputClaim ClaimTypeReferenceId="AppId" PartnerClaimType="{property:App}" DefaultValue="{OIDC:ClientId}" />
</InputClaims>
</TechnicalProfile>
Függő entitás házirendje
Egy függő entitás házirendjének technikai profiljában érdemes lehet elküldeni a bérlőazonosítót vagy a korrelációs azonosítót a függő entitás alkalmazásának a JWT-ben.
<RelyingParty>
<DefaultUserJourney ReferenceId="SignUpOrSignIn" />
<TechnicalProfile Id="PolicyProfile">
<DisplayName>PolicyProfile</DisplayName>
<Protocol Name="OpenIdConnect" />
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="displayName" />
<OutputClaim ClaimTypeReferenceId="givenName" />
<OutputClaim ClaimTypeReferenceId="surname" />
<OutputClaim ClaimTypeReferenceId="email" />
<OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub"/>
<OutputClaim ClaimTypeReferenceId="identityProvider" />
<OutputClaim ClaimTypeReferenceId="tenantId" AlwaysUseDefaultValue="true" DefaultValue="{Policy:TenantObjectId}" />
<OutputClaim ClaimTypeReferenceId="correlationId" AlwaysUseDefaultValue="true" DefaultValue="{Context:CorrelationId}" />
</OutputClaims>
<SubjectNamingInfo ClaimType="sub" />
</TechnicalProfile>
</RelyingParty>
Kapcsolódó tartalom
- További jogcímfeloldási minták keresése az Azure AD B2C-közösség GitHub-adattárában