Share via


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

Házirend

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 Csatlakozás engedélyezési kérelemre vonatkozó 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. 00000000-0000-0000-0000-000000000000
{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 Csatlakozás 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_numbervagy bármilyen egyéni lekérdezési app_sessionsztring.

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:oázis: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. Bemutatóra
{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ó frissítési jogkivonata. 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:

Tétel Elem Beállítások
Alkalmazás Elemzések műszaki profilja InputClaim
Microsoft Entra műszaki profil InputClaim, OutputClaim 1, 2
OAuth2 műszaki profil InputClaim, OutputClaim 1, 2
OpenID Csatlakozás 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

Gépház:

  1. A IncludeClaimResolvingInClaimsHandling metaadatokat a következőre truekell állítani: .
  2. A bemeneti vagy kimeneti jogcím attribútumot AlwaysUseDefaultValue a következőre truekell á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>

Alkalmazás Elemzések műszaki profilja

A Azure-alkalmazás Elemzések és a jogcímfeloldók segítségével betekintést nyerhet a felhasználói viselkedésbe. Az alkalmazás Elemzések technikai profilban olyan bemeneti jogcímeket küld, amelyek megmaradnak a Azure-alkalmazás Elemzések. További információ: Felhasználói viselkedés nyomon követése az Azure AD B2C-folyamatokban az Alkalmazás Elemzések 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 Azure-alkalmazás Elemzések.

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

Következő lépések