Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Viktigt!
Från och med den 1 maj 2025 är Azure AD B2C inte längre tillgängligt att köpa för nya kunder. Läs mer i våra vanliga frågor och svar.
Anspråksmatchare i anpassade Azure Active Directory B2C-principer (Azure AD B2C) ger kontextinformation om en auktoriseringsbegäran, till exempel principnamn, korrelations-ID för begäran, användargränssnittsspråk med mera.
Om du vill använda en anspråkslösare i ett indata- eller utdataanspråk definierar du en sträng ClaimType, under elementet ClaimsSchema , och sedan anger du DefaultValue till anspråkslösaren i indata- eller utdataanspråkelementet. Azure AD B2C läser värdet för anspråkslösaren och använder värdet i den tekniska profilen.
I följande exempel definieras en anspråkstyp med namnet correlationId
med datatypen string
.
<ClaimType Id="correlationId">
<DisplayName>correlationId</DisplayName>
<DataType>string</DataType>
<UserHelpText>Request correlation Id</UserHelpText>
</ClaimType>
I den tekniska profilen mappar du anspråkslösaren till anspråkstypen. Azure AD B2C fyller värdet för anspråkslösaren {Context:CorrelationId}
i anspråket correlationId
och skickar anspråket till den tekniska profilen.
<InputClaim ClaimTypeReferenceId="correlationId" DefaultValue="{Context:CorrelationId}" />
Kultur
I följande tabell visas anspråkslösare med information om det språk som används i auktoriseringsbegäran:
Anspråk | beskrivning | Exempel |
---|---|---|
{Kultur:LanguageName} | Iso-koden med två bokstäver för språket. | en |
{Kultur:LCID} | LCID för språkkod. | 1053 |
{Kultur:RegionName} | Iso-koden med två bokstäver för regionen. | USA |
{Kultur:RFC5646} | Språkkoden RFC5646. | en-US |
Kolla in Live-demonstrationen av kulturanspråkslösare.
Riktlinje
I följande tabell visas anspråkslösare med information om principen som används i auktoriseringsbegäran:
Anspråk | beskrivning | Exempel |
---|---|---|
{Policy:PolicyId} | Namnet på den förlitande partens princip. | B2C_1A_signup_signin |
{Princip:RelyingPartyTenantId} | Klientorganisations-ID:t för den förlitande partens princip. | your-tenant.onmicrosoft.com |
{Princip:TenantObjectId} | Klientobjekt-ID:t för den förlitande partens princip. | 00000000-0000-0000-0000-000000000000 |
{Princip:TrustFrameworkTenantId} | Klientorganisations-ID för förtroenderamverket. | your-tenant.onmicrosoft.com |
Kolla in livedemon för principanspråkslösare.
Kontext
I följande tabell visas de kontextuella anspråkslösare för auktoriseringsbegäran:
Anspråk | beskrivning | Exempel |
---|---|---|
{Sammanhang:BuildNumber} | Identity Experience Framework-versionen (versionsnummer). | 1.0.507.0 |
{Kontext:CorrelationId} | Korrelations-ID:t. | 00000000-0000-0000-0000-000000000000 |
{Sammanhang:DateTimeInUtc} | Datumtiden i UTC. | 2021-10-10 12:00:00 |
{Kontext:DeploymentMode} | Principdistributionsläget. | Produktion |
{Sammanhang:Värdnamn} | Värdnamnet för den aktuella begäran. | contoso.b2clogin.com |
{Sammanhang:IPAddress} | Användarens IP-adress. | 11.111.111.11 |
{Kontext:KMSI} | Anger om kryssrutan Behåll mig inloggad är markerad. | sann |
Kolla in livedemon för kontextanspråkslösare.
Anspråk
I det här avsnittet beskrivs hur du hämtar ett anspråksvärde som en anspråkslösare.
Anspråk | beskrivning | Exempel |
---|---|---|
{Anspråk:anspråkstyp} | En identifierare av en anspråkstyp som redan definierats i avsnittet ClaimsSchema i principfilen eller den överordnade principfilen. Till exempel: {Claim:displayName} , eller {Claim:objectId} . |
Ett anspråkstypvärde. |
OpenID Connect
I följande tabell visas anspråkslösare med information om OpenID Connect-auktoriseringsbegäran:
Anspråk | beskrivning | Exempel |
---|---|---|
{OIDC:AuthenticationContextReferences} | Frågesträngsparametern acr_values . |
Ej tillämpligt |
{OIDC:ClientId} | Frågesträngsparametern client_id . |
00001111-aaaa-2222-bbbb-3333cccc4444 |
{OIDC:DomainHint} | Frågesträngsparametern domain_hint . |
facebook.com |
{OIDC:LoginHint} | Frågesträngsparametern login_hint . |
someone@contoso.com |
{OIDC:MaxAge} |
max_age . |
Ej tillämpligt |
{OIDC:Nonce} | Frågesträngsparametern Nonce . |
defaultNonce (standard) |
{OIDC:Lösenord} | Lösenordsautentiseringsuppgifterna för resursägaren flödar användarens lösenord. | Lösenord1 |
{OIDC:Fråga} | Frågesträngsparametern prompt . |
inloggning |
{OIDC:RedirectUri} | Frågesträngsparametern redirect_uri . |
https://jwt.ms |
{OIDC:Resurs} | Frågesträngsparametern resource . |
Ej tillämpligt |
{OIDC:Omfång} | Frågesträngsparametern scope . |
OpenID |
{OIDC:Användarnamn} | Resursägarens lösenordsuppgifter flödar användarens användarnamn. | emily@contoso.com |
{OIDC:IdToken} | Frågesträngsparametern id token . |
Ej tillämpligt |
Kolla in livedemon för OpenID Connect-anspråkslösare.
OAuth2-nyckelvärdesparametrar
Alla parameternamn som ingår som en del av en OIDC- eller OAuth2-begäran kan mappas till ett anspråk under användarresan. Till exempel kan begäran från programmet innehålla en frågesträngsparameter med namnet app_session
, loyalty_number
eller en anpassad frågesträng.
Anspråk | beskrivning | Exempel |
---|---|---|
{OAUTH-KV:campaignId} | En frågesträngsparameter. | Hawaii |
{OAUTH-KV:app_session} | En frågesträngsparameter. | A3C5R |
{OAUTH-KV:loyalty_number} | En frågesträngsparameter. | 1234 |
{OAUTH-KV:alla anpassade frågesträngar} | En frågesträngsparameter. | Ej tillämpligt |
SAML-nyckelvärdesparametrar
I en SAML-autentiseringsbegäran kan alla parameternamn som ingår i begäran, men som inte är specifika för protokollet (till exempel SAMLRequest) mappas till ett anspråk under användarresan. Begäran kan till exempel innehålla en anpassad parameter, username
till exempel . Detta gäller både SP-initierade och IDP-initierade SAML-begäranden.
Anspråk | beskrivning | Exempel |
---|---|---|
{SAML-KV:användarnamn} | En frågesträng eller POST-brödtextparameter. | username@domain.com |
{SAML-KV:loyalty_number} | En frågesträng eller POST-brödtextparameter. | 1234 |
{SAML-KV:alla anpassade frågesträngar} | En frågesträng eller POST-brödtextparameter. | Ej tillämpligt |
SAML
I följande tabell visas anspråkslösare med information om SAML-auktoriseringsbegäran:
Anspråk | beskrivning | Exempel |
---|---|---|
{SAML:AuthnContextClassReferences} | Elementvärdet AuthnContextClassRef från SAML-begäran. |
urn:oasis:namn:tc:SAML:2.0:ac:klasser:PasswordProtectedTransport |
{SAML:NameIdPolicyFormat} | Attributet Format från elementet NameIDPolicy i SAML-begäran. |
urn:oasis:names:tc:SAML:1.1:nameid-format:e-postadress |
{SAML:Utfärdare} | SAML-elementvärdet Issuer för SAML-begäran. |
https://contoso.com |
{SAML:AllowCreate} | Attributvärdet AllowCreate från elementet NameIDPolicy i SAML-begäran. |
Sant |
{SAML:ForceAuthn} | Attributvärdet ForceAuthN från elementet AuthnRequest i SAML-begäran. |
Sant |
{SAML:ProviderName} | Attributvärdet ProviderName från elementet AuthnRequest i SAML-begäran. |
Contoso.com |
{SAML:RelayState} | Frågesträngsparametern RelayState . |
|
{SAML:Ämne} |
Subject Från NameId-elementet i SAML AuthN-begäran. |
|
{SAML:Bindande} | Attributvärdet ProtocolBinding från elementet AuthnRequest i SAML-begäran. |
urn:oasis:namn:tc:SAML:2.0:bindningar:HTTP-POST |
Kolla in livedemon för SAML-anspråkslösare.
OAuth2-identitetsprovider
I följande tabell visas anspråkslösare för OAuth2-identitetsprovidern :
Anspråk | beskrivning | Exempel |
---|---|---|
{oauth2:access_token} | Åtkomsttoken för OAuth2-identitetsprovidern. Attributet access_token . |
eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1Ni... |
{oauth2:token_type} | Typ av åtkomsttoken. Attributet token_type . |
Bärare |
{oauth2:expires_in} | Hur lång tid åtkomsttoken är giltig i sekunder. Attributet expires_in . Utdataanspråket DataType måste vara int eller long . |
960000 |
{oauth2:refresh_token} | Uppdateringstoken för OAuth2-identitetsprovidrar. Attributet refresh_token . |
eyJraWQiOiJacW9pQlp2TW5pYVc2MUY... |
Om du vill använda OAuth2-identitetsproviderns anspråkslösare anger du utdataanspråkets attribut till anspråkslösaren PartnerClaimType
. I följande exempel visas hur du hämtar anspråk för den externa identitetsprovidern:
<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>
Använda anspråkslösare
Du kan använda anspråkslösare med följande element:
Artikel | Komponent | Inställningar |
---|---|---|
Teknisk profil för Application Insights | InputClaim |
|
Teknisk profil för Microsoft Entra |
InputClaim , OutputClaim |
1, 2 |
Teknisk OAuth2-profil |
InputClaim , OutputClaim |
1, 2 |
Teknisk profil för OpenID Connect |
InputClaim , OutputClaim |
1, 2 |
Teknisk profil för anspråkstransformering |
InputClaim , OutputClaim |
1, 2 |
Teknisk profil för RESTful-provider | InputClaim |
1, 2 |
Teknisk profil för SAML-identitetsprovider | OutputClaim |
1, 2 |
Egensäkrad teknisk profil |
InputClaim , OutputClaim |
1, 2 |
InnehållDefinition | LoadUri |
|
ContentDefinitionParameters (på engelska) | Parameter |
|
Teknisk profil för RelyingParty | OutputClaim |
2 |
Inställningar:
- Metadata
IncludeClaimResolvingInClaimsHandling
måste anges tilltrue
. - Attributet
AlwaysUseDefaultValue
för indata- eller utdataanspråk måste vara inställt påtrue
.
Exempel på anspråkslösare
RESTful teknisk profil
I en RESTful-teknisk profil kanske du vill skicka användarspråket, principnamnet, omfånget och klient-ID:t. Baserat på anspråken kan REST-API:et köra anpassad affärslogik och vid behov generera ett lokaliserat felmeddelande.
I följande exempel visas en RESTful-teknisk profil med det här scenariot:
<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>
Direkt inloggning
Med hjälp av anspråksmatchare kan du fylla i inloggningsnamnet i förväg eller direkt logga in på en specifik social identitetsprovider, till exempel Facebook, LinkedIn eller ett Microsoft-konto. Mer information finns i Konfigurera direkt inloggning med Azure Active Directory B2C.
Dynamisk anpassning av användargränssnittet
Med Azure AD B2C kan du skicka frågesträngsparametrar till html-innehållsdefinitionens slutpunkter för att dynamiskt återge sidinnehållet. Med den här funktionen kan du till exempel ändra bakgrundsbilden på registrerings- eller inloggningssidan för Azure AD B2C baserat på en anpassad parameter som du skickar från ditt webb- eller mobilprogram. Mer information finns i Konfigurera användargränssnittet dynamiskt med hjälp av anpassade principer i Azure Active Directory B2C. Du kan också lokalisera HTML-sidan baserat på en språkparameter, eller så kan du ändra innehållet baserat på klient-ID:t.
I följande exempel skickas frågesträngsparametern med namnet campaignId med värdet Hawaii
, en språkkod för en-US
och en app som representerar klient-ID:t:
<UserJourneyBehaviors>
<ContentDefinitionParameters>
<Parameter Name="campaignId">{OAUTH-KV:campaignId}</Parameter>
<Parameter Name="language">{Culture:RFC5646}</Parameter>
<Parameter Name="app">{OIDC:ClientId}</Parameter>
</ContentDefinitionParameters>
</UserJourneyBehaviors>
Därför skickar Azure AD B2C ovanstående parametrar till HTML-innehållssidan:
/selfAsserted.aspx?campaignId=hawaii&language=en-US&app=0239a9cc-309c-4d41-87f1-31288feb2e82
Innehållsdefinition
I en ContentDefinitionLoadUri
kan du skicka anspråksmatchare för att hämta innehåll från olika platser, baserat på de parametrar som används.
<ContentDefinition Id="api.signuporsignin">
<LoadUri>https://contoso.blob.core.windows.net/{Culture:LanguageName}/myHTML/unified.html</LoadUri>
...
</ContentDefinition>
Teknisk profil för Application Insights
Med Azure Application Insights och anspråkslösare kan du få insikter om användarbeteende. I den tekniska Application Insights-profilen skickar du indataanspråk som sparas till Azure Application Insights. Mer information finns i Spåra användarbeteende i Azure AD B2C-resor med hjälp av Application Insights. I följande exempel skickas princip-ID, korrelations-ID, språk och klient-ID till Azure Application Insights.
<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>
Princip för förlitande part
I en teknisk profil för förlitande partprincip kanske du vill skicka klientorganisations-ID:t eller korrelations-ID:t till det förlitande partprogrammet i JWT.
<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>
Relaterat innehåll
- Hitta fler exempel på anspråkslösare på GitHub-lagringsplatsen för Azure AD B2C-communityn