Technische profielen

Notitie

In Azure Active Directory B2C is aangepast beleid voornamelijk bedoeld om met complexe scenario's om te gaan. Voor de meeste scenario's wordt aangeraden ingebouwde gebruikersstromen te gebruiken. Als u dit nog niet hebt gedaan, vindt u meer informatie over aangepast beleid in het starterspakket in Aan de slag met aangepaste beleidsregels in Active Directory B2C.

Een technisch profiel biedt een kader met een ingebouwd mechanisme om te communiceren met verschillende soorten partijen. Technische profielen worden gebruikt om te communiceren met uw Azure Active Directory B2C-tenant (Azure AD B2C) om een gebruiker te maken of een gebruikersprofiel te lezen. Een technisch profiel kan zelf worden gebruikt om interactie met de gebruiker mogelijk te maken. Een technisch profiel kan bijvoorbeeld de referenties van de gebruiker verzamelen om zich aan te melden en vervolgens de aanmeldingspagina of de pagina voor wachtwoordherstel weer te geven.

Typen technische profielen

Een technisch profiel maakt dit soort scenario's mogelijk:

  • Application Insights: gebeurtenisgegevens verzenden naar Application Insights.
  • Microsoft Entra-id: biedt ondersteuning voor het azure AD B2C-gebruikersbeheer.
  • Meervoudige verificatie van Microsoft Entra: biedt ondersteuning voor het verifiëren van een telefoonnummer met behulp van Microsoft Entra-meervoudige verificatie.
  • Transformatie van claims: roept transformaties van uitvoerclaims aan om claimwaarden te bewerken, claims te valideren of standaardwaarden in te stellen voor een set uitvoerclaims.
  • Hint voor id-token: valideert de handtekening van het id_token_hint JWT-token, de naam van de uitgever en de tokendoelgroep en extraheert de claim uit het binnenkomende token.
  • JWT-tokenverlener: hiermee wordt een JWT-token verzonden dat wordt geretourneerd naar de relying party-toepassing.
  • OAuth1: Federatie met een OAuth 1.0-protocolidentiteitsprovider.
  • OAuth2: Federatie met een OAuth 2.0-protocol-id-provider.
  • Eenmalig wachtwoord: biedt ondersteuning voor het beheren van het genereren en verifiëren van een eenmalig wachtwoord.
  • OpenID Verbinding maken: Federatie met een OpenID-Verbinding maken protocol-id-provider.
  • Telefoon factor: ondersteunt het inschrijven en verifiëren van telefoonnummers.
  • RESTful-provider: roept REST API-services aan, zoals het valideren van gebruikersinvoer, het verrijken van gebruikersgegevens of het integreren met Line-Of-Business-toepassingen.
  • SAML-id-provider: Federatie met elke ID-provider van het SAML-protocol.
  • SAML-tokenverlener: hiermee wordt een SAML-token verzonden dat wordt geretourneerd naar de relying party-toepassing.
  • Zelf-asserted: Communiceert met de gebruiker. Verzamelt bijvoorbeeld de referenties van de gebruiker om zich aan te melden, de registratiepagina weer te geven of het wachtwoord opnieuw in te stellen.
  • Sessiebeheer: verwerkt verschillende typen sessies.

Stroom van technisch profiel

Alle typen technische profielen delen hetzelfde concept. Ze beginnen met het lezen van de invoerclaims en het uitvoeren van claimtransformaties. Vervolgens communiceren ze met de geconfigureerde partij, zoals een id-provider, REST API of Microsoft Entra-adreslijstservices. Nadat het proces is voltooid, retourneert het technische profiel de uitvoerclaims en kan het uitvoerclaimtransformaties uitvoeren. In het volgende diagram ziet u hoe de transformaties en toewijzingen waarnaar in het technische profiel wordt verwezen, worden verwerkt. Nadat de claimtransformatie is uitgevoerd, worden de uitvoerclaims onmiddellijk opgeslagen in de claimtas, ongeacht de partij waarmee het technische profiel communiceert.

Diagram that illustrates the technical profile flow.

  1. Sessiebeheer voor eenmalige aanmelding (SSO): hiermee herstelt u de sessiestatus van het technische profiel met behulp van sessiebeheer voor eenmalige aanmelding.
  2. Transformatie van invoerclaims: Voordat het technische profiel wordt gestart, voert Azure AD B2C invoerclaimtransformatie uit.
  3. Invoerclaims: Claims worden opgehaald uit de claimzak die wordt gebruikt voor het technische profiel.
  4. Uitvoering van technisch profiel: het technische profiel wisselt de claims uit met de geconfigureerde partij. Bijvoorbeeld:
    • Hiermee wordt de gebruiker omgeleid naar de id-provider om de aanmelding te voltooien. Nadat de aanmelding is geslaagd, keert de gebruiker terug en wordt de uitvoering van het technische profiel voortgezet.
    • Roept een REST API aan tijdens het verzenden van parameters als InputClaims en het ophalen van informatie als OutputClaims.
    • Hiermee maakt of werkt u het gebruikersaccount bij.
    • Hiermee verzendt en verifieert u het tekstbericht voor meervoudige verificatie.
  5. Technische profielen voor validatie: een zelf-asserted technisch profiel kan technische profielen voor validatie aanroepen om de gegevens te valideren die door de gebruiker zijn geprofileerd. Alleen zelf-asserted technische profielen kunnen gebruikmaken van validatie technische profielen.
  6. Uitvoerclaims: claims worden teruggezet naar de claimzak. U kunt deze claims gebruiken in de volgende indelingsstap of uitvoerclaimtransformaties.
  7. Transformaties van uitvoerclaims: Nadat het technische profiel is voltooid, voert Azure AD B2C uitvoerclaimtransformaties uit.
  8. Beheer van eenmalige aanmeldingssessies: bewaart de gegevens van het technische profiel aan de sessie met behulp van SSO-sessiebeheer.

Een TechnicalProfiles-element bevat een set technische profielen die worden ondersteund door de claimprovider. Elke claimprovider moet ten minste één technisch profiel hebben. Het technische profiel bepaalt de eindpunten en de protocollen die nodig zijn om te communiceren met de claimprovider. Een claimprovider kan meerdere technische profielen hebben.

<ClaimsProvider>
  <DisplayName>Display name</DisplayName>
  <TechnicalProfiles>
    <TechnicalProfile Id="Technical profile identifier">
      <DisplayName>Display name of technical profile</DisplayName>
      <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.RestfulProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
      <Metadata>
        ...
      </Metadata>
      ...
    </TechnicalProfile>
  </TechnicalProfiles>
</ClaimsProvider>

Het element TechnicalProfile bevat het volgende kenmerk:

Kenmerk Vereist Beschrijving
ID Ja Een unieke id van het technische profiel. Naar het technische profiel kan worden verwezen met behulp van deze id van andere elementen in het beleidsbestand. Voorbeelden zijn OrchestrationSteps en ValidationTechnicalProfile.

Het element TechnicalProfile bevat de volgende elementen:

Element Instanties Beschrijving
Domain 0:1 De domeinnaam voor het technische profiel. Als uw technische profiel bijvoorbeeld de Facebook-id-provider opgeeft, wordt de domeinnaam Facebook.com.
DisplayName 1:1 De weergavenaam van het technische profiel.
Beschrijving 0:1 De beschrijving van het technische profiel.
Protocol 1:1 Het protocol dat wordt gebruikt voor de communicatie met de andere partij.
Metagegevens 0:1 Een set sleutels en waarden waarmee het gedrag van het technische profiel wordt bepaald.
InputTokenFormat 0:1 De indeling van het invoertoken. Mogelijke waarden zijnJSON, JWT, of SAML11SAML2. De JWT waarde vertegenwoordigt een JSON-webtoken volgens de IETF-specificatie. De SAML11 waarde vertegenwoordigt een SAML 1.1-beveiligingstoken volgens de OASIS-specificatie. De SAML2 waarde vertegenwoordigt een SAML 2.0-beveiligingstoken volgens de OASIS-specificatie.
OutputTokenFormat 0:1 De indeling van het uitvoertoken. Mogelijke waarden zijnJSON, JWT, of SAML11SAML2.
CryptographicKeys 0:1 Een lijst met cryptografische sleutels die worden gebruikt in het technische profiel.
InputClaimsTransformations 0:1 Een lijst met eerder gedefinieerde verwijzingen naar claimtransformaties die moeten worden uitgevoerd voordat claims worden verzonden naar de claimprovider of de relying party.
InputClaims 0:1 Een lijst met eerder gedefinieerde verwijzingen naar claimtypen die worden gebruikt als invoer in het technische profiel.
PersistentedClaims 0:1 Een lijst met eerder gedefinieerde verwijzingen naar claimtypen die door het technische profiel worden bewaard.
DisplayClaims 0:1 Een lijst met eerder gedefinieerde verwijzingen naar claimtypen die worden gepresenteerd door het zelf-asserted technische profiel. De functie DisplayClaims is momenteel beschikbaar als preview-versie.
OutputClaims 0:1 Een lijst met eerder gedefinieerde verwijzingen naar claimtypen die als uitvoer in het technische profiel worden genomen.
OutputClaimsTransformations 0:1 Een lijst met eerder gedefinieerde verwijzingen naar claimtransformaties die moeten worden uitgevoerd nadat de claims zijn ontvangen van de claimprovider.
ValidationTechnicalProfiles 0:n Een lijst met verwijzingen naar andere technische profielen die door het technische profiel worden gebruikt voor validatiedoeleinden. Zie Het technische profiel validatie voor meer informatie.
SubjectNamingInfo 0:1 Hiermee bepaalt u de productie van de onderwerpnaam in tokens waarbij de onderwerpnaam afzonderlijk van claims wordt opgegeven. Voorbeelden zijn OAuth of SAML.
IncludeInSso 0:1 Ongeacht of het gebruik van dit technische profiel het gedrag van eenmalige aanmelding voor de sessie moet toepassen of in plaats daarvan expliciete interactie moet vereisen. Dit element is alleen geldig in SelfAsserted-profielen die worden gebruikt in een technisch validatieprofiel. Mogelijke waarden zijn true (standaard) of false.
IncludeClaimsFromTechnicalProfile 0:1 Een id van een technisch profiel waaruit u alle invoer- en uitvoerclaims wilt toevoegen aan dit technische profiel. Het technische profiel waarnaar wordt verwezen, moet worden gedefinieerd in hetzelfde beleidsbestand.
IncludeTechnicalProfile 0:1 Een id van een technisch profiel waaruit u alle gegevens wilt toevoegen aan dit technische profiel.
UseTechnicalProfileForSessionManagement 0:1 Een ander technisch profiel dat moet worden gebruikt voor sessiebeheer.
EnabledForUserJourneys 0:1 Hiermee bepaalt u of het technische profiel wordt uitgevoerd in een gebruikerstraject.

Protocol

Het element Protocol geeft het protocol aan dat moet worden gebruikt voor de communicatie met de andere partij. Het protocolelement bevat de volgende kenmerken:

Kenmerk Vereist Description
Meting Ja De naam van een geldig protocol dat wordt ondersteund door Azure AD B2C die wordt gebruikt als onderdeel van het technische profiel. Mogelijke waarden zijnOAuth1, OAuth2, , OpenIdConnectSAML2, of ProprietaryNone.
Handler Nee Wanneer de protocolnaam is ingesteld Proprietaryop, geeft u de naam op van de assembly die wordt gebruikt door Azure AD B2C om de protocolhandler te bepalen. Als u het protocolnaamkenmerk Noneinstelt op, neemt u het handlerkenmerk niet op.

Metagegevens

Het element Metagegevens bevat de relevante configuratieopties voor een specifiek protocol. De lijst met ondersteunde metagegevens wordt beschreven in de bijbehorende technische profielspecificatie . Een metagegevenselement bevat het volgende element:

Element Instanties Beschrijving
Artikel 0:n De metagegevens die betrekking hebben op het technische profiel. Elk type technisch profiel heeft een andere set metagegevensitems. Zie de sectie technische profieltypen voor meer informatie.

Artikel

Het itemelement van het element Metagegevens bevat het volgende kenmerk:

Kenmerk Vereist Beschrijving
Toets Ja De metagegevenssleutel. Bekijk elk type technisch profiel voor de lijst met metagegevensitems.

In het volgende voorbeeld ziet u het gebruik van metagegevens die relevant zijn voor het technische OAuth2-profiel.

<TechnicalProfile Id="Facebook-OAUTH">
  ...
  <Metadata>
    <Item Key="ProviderName">facebook</Item>
    <Item Key="authorization_endpoint">https://www.facebook.com/dialog/oauth</Item>
    <Item Key="AccessTokenEndpoint">https://graph.facebook.com/oauth/access_token</Item>
    <Item Key="HttpBinding">GET</Item>
    <Item Key="UsePolicyInRedirectUri">0</Item>
    ...
  </Metadata>
  ...
</TechnicalProfile>

In het volgende voorbeeld ziet u het gebruik van metagegevens die relevant zijn voor het technische profiel van de REST API.

<TechnicalProfile Id="REST-Validate-Email">
  ...
  <Metadata>
    <Item Key="ServiceUrl">https://api.sendgrid.com/v3/mail/send</Item>
    <Item Key="AuthenticationType">Bearer</Item>
    <Item Key="SendClaimsIn">Body</Item>
    ...
  </Metadata>
  ...
</TechnicalProfile>

Cryptografische sleutels

Azure AD B2C slaat geheimen en certificaten op in de vorm van beleidssleutels om een vertrouwensrelatie tot stand te brengen met de services waarmee deze is geïntegreerd. Tijdens de uitvoering van het technische profiel haalt Azure AD B2C de cryptografische sleutels op uit Azure AD B2C-beleidssleutels. Vervolgens gebruikt Azure AD B2C de sleutels om een vertrouwensrelatie tot stand te brengen of een token te versleutelen of te ondertekenen. Deze vertrouwensrelaties bestaan uit:

Het element CryptographicKeys bevat het volgende element:

Element Instanties Description
Toets 1:n Een cryptografische sleutel die in dit technische profiel wordt gebruikt.

Key

Het sleutelelement bevat het volgende kenmerk:

Kenmerk Vereist Beschrijving
ID Nee Een unieke id van een bepaald sleutelpaar waarnaar wordt verwezen vanuit andere elementen in het beleidsbestand.
StorageReferenceId Ja Een id van een opslagsleutelcontainer waarnaar wordt verwezen vanuit andere elementen in het beleidsbestand.

Transformaties van invoerclaims

Het element InputClaimsTransformations kan een verzameling invoerclaimtransformatie-elementen bevatten die worden gebruikt om invoerclaims te wijzigen of nieuwe elementen te genereren.

De uitvoerclaims van een eerdere claimtransformatie in de verzameling claimstransformatie kunnen invoerclaims zijn van een volgende transformatie van invoerclaims. Op deze manier kunt u een reeks claimstransformaties hebben die van elkaar afhankelijk zijn.

Het element InputClaimsTransformations bevat het volgende element:

Element Instanties Beschrijving
InputClaimsTransformation 1:n De id van een claimtransformatie die moet worden uitgevoerd voordat claims worden verzonden naar de claimprovider of de relying party. Een claimtransformatie kan worden gebruikt om bestaande ClaimsSchema-claims te wijzigen of nieuwe claims te genereren.

InputClaimsTransformation

Het element InputClaimsTransformation bevat het volgende kenmerk:

Kenmerk Vereist Beschrijving
ReferenceId Ja Een id van een claimtransformatie die al is gedefinieerd in het beleidsbestand of het bovenliggende beleidsbestand.

De volgende technische profielen verwijzen naar de transformatie van claims CreateOtherMailsFromEmail . De claimtransformatie voegt de waarde van de email claim toe aan de otherMails verzameling voordat de gegevens in de map worden bewaard.

<TechnicalProfile Id="AAD-UserWriteUsingAlternativeSecurityId">
  ...
  <InputClaimsTransformations>
    <InputClaimsTransformation ReferenceId="CreateOtherMailsFromEmail" />
  </InputClaimsTransformations>
  <PersistedClaims>
    <PersistedClaim ClaimTypeReferenceId="alternativeSecurityId" />
    <PersistedClaim ClaimTypeReferenceId="userPrincipalName" />
    <PersistedClaim ClaimTypeReferenceId="mailNickName" DefaultValue="unknown" />
    <PersistedClaim ClaimTypeReferenceId="displayName" DefaultValue="unknown" />
    <PersistedClaim ClaimTypeReferenceId="otherMails" />
    <PersistedClaim ClaimTypeReferenceId="givenName" />
    <PersistedClaim ClaimTypeReferenceId="surname" />
  </PersistedClaims>
  ...
</TechnicalProfile>

Invoerclaims

Het element InputClaims haalt claims op uit de claimzak die wordt gebruikt voor het technische profiel. Een zelf-asserted technisch profiel gebruikt bijvoorbeeld de invoerclaims om de uitvoerclaims die de gebruiker levert vooraf in te vullen. Een technisch REST API-profiel gebruikt de invoerclaims om invoerparameters naar het REST API-eindpunt te verzenden. Azure AD B2C gebruikt een invoerclaim als een unieke id om een account te lezen, bij te werken of te verwijderen.

Het element InputClaims bevat het volgende element:

Element Instanties Beschrijving
InputClaim 1:n Een verwacht invoerclaimtype.

InputClaim

Het element InputClaim bevat de volgende kenmerken:

Kenmerk Vereist Beschrijving
ClaimTypeReferenceId Ja De id van een claimtype. De claim is al gedefinieerd in de sectie claimsschema in het beleidsbestand of het bovenliggende beleidsbestand.
Standaardwaarde Nee Een standaardwaarde die moet worden gebruikt om een claim te maken als de claim die wordt aangegeven door ClaimTypeReferenceId niet bestaat, zodat de resulterende claim kan worden gebruikt als een InputClaim-element door het technische profiel.
AlwaysUseDefaultValue Ja Dwingt het gebruik van de standaardwaarde af.
PartnerClaimType Nee De id van het claimtype van de externe partner waaraan het opgegeven beleidsclaimtype is toegewezen. Als het kenmerk PartnerClaimType niet is opgegeven, wordt het opgegeven beleidsclaimtype toegewezen aan het claimtype van de partner met dezelfde naam. Gebruik deze eigenschap wanneer de naam van uw claimtype verschilt van de andere partij. Een voorbeeld is als de voornaam van de claim givenName is, terwijl de partner een claim met de naam first_name gebruikt.

Claims weergeven

Het element DisplayClaims bevat een lijst met claims die op het scherm moeten worden weergegeven om gegevens van de gebruiker te verzamelen. In de verzameling weergaveclaims kunt u een verwijzing opnemen naar een claimtype of een weergavebeheer dat u hebt gemaakt.

  • Een claimtype is een verwijzing naar een claim die op het scherm moet worden weergegeven.
    • Als u wilt afdwingen dat de gebruiker een waarde opgeeft voor een specifieke claim, stel dan het kenmerk Vereist van het element DisplayClaim in op true.
    • Als u de waarden van weergaveclaims vooraf wilt vullen, gebruikt u de invoerclaims die eerder zijn beschreven. Het element kan ook een standaardwaarde bevatten.
    • Het element ClaimType in de verzameling DisplayClaims moet het element UserInputType instellen op een gebruikersinvoertype dat wordt ondersteund door Azure AD B2C. Voorbeelden zijn TextBox of DropdownSingleSelect.
  • Een weergavebesturingselement is een gebruikersinterface-element dat speciale functionaliteit heeft en communiceert met de Azure AD B2C-back-endservice. Hiermee kan de gebruiker acties uitvoeren op de pagina die een technisch validatieprofiel aanroept op de back-end. Een voorbeeld is het verifiëren van een e-mailadres, telefoonnummer of klantloyaliteitsnummer.

De volgorde van de elementen in DisplayClaims geeft de volgorde aan waarin Azure AD B2C de claims op het scherm weergeeft.

Het element DisplayClaims bevat het volgende element:

Element Instanties Beschrijving
DisplayClaim 1:n Een verwacht invoerclaimtype.

DisplayClaim

Het Element DisplayClaim bevat de volgende kenmerken:

Kenmerk Vereist Beschrijving
ClaimTypeReferenceId Nee De id van een claimtype dat al is gedefinieerd in de sectie ClaimsSchema in het beleidsbestand of het bovenliggende beleidsbestand.
DisplayControlReferenceId Nee De id van een weergavebeheer dat al is gedefinieerd in de sectie ClaimsSchema in het beleidsbestand of het bovenliggende beleidsbestand.
Vereist Nee Geeft aan of de weergaveclaim is vereist.

In het volgende voorbeeld ziet u het gebruik van weergaveclaims en weergavebesturingselementen in een zelfbewust technisch profiel.

Screenshot that shows a self-asserted technical profile with display claims.

In het volgende technische profiel:

  • De eerste weergaveclaim verwijst naar het weergavebesturingselement emailVerificationControl, waarmee het e-mailadres wordt verzameld en geverifieerd.
  • De vijfde weergaveclaim verwijst naar het weergavebesturingselement phoneVerificationControl, waarmee een telefoonnummer wordt verzameld en geverifieerd.
  • De andere weergaveclaims zijn ClaimType-elementen die van de gebruiker moeten worden verzameld.
<TechnicalProfile Id="Id">
  <DisplayClaims>
    <DisplayClaim DisplayControlReferenceId="emailVerificationControl" />
    <DisplayClaim ClaimTypeReferenceId="displayName" Required="true" />
    <DisplayClaim ClaimTypeReferenceId="givenName" Required="true" />
    <DisplayClaim ClaimTypeReferenceId="surName" Required="true" />
    <DisplayClaim DisplayControlReferenceId="phoneVerificationControl" />
    <DisplayClaim ClaimTypeReferenceId="newPassword" Required="true" />
    <DisplayClaim ClaimTypeReferenceId="reenterPassword" Required="true" />
  </DisplayClaims>
</TechnicalProfile>

Persistente claims

Het element PersistentedClaims bevat alle waarden die moeten worden behouden door een technisch profiel van Microsoft Entra ID met mogelijke toewijzingsgegevens tussen een claimtype dat al is gedefinieerd in de sectie ClaimsSchema in het beleid en de kenmerknaam van Microsoft Entra.

De naam van de claim is de naam van het Kenmerk Microsoft Entra , tenzij het kenmerk PartnerClaimType is opgegeven, dat de microsoft Entra-kenmerknaam bevat.

Het element PersistentedClaims bevat het volgende element:

Element Instanties Beschrijving
PersistentedClaim 1:n Het claimtype dat moet worden behouden.

PersistentedClaim

Het element PersistentedClaim bevat de volgende kenmerken:

Kenmerk Vereist Beschrijving
ClaimTypeReferenceId Ja De id van een claimtype dat al is gedefinieerd in de sectie ClaimsSchema in het beleidsbestand of het bovenliggende beleidsbestand.
Standaardwaarde Nee Een standaardwaarde die moet worden gebruikt om een claim te maken als de claim niet bestaat.
PartnerClaimType Nee De id van het claimtype van de externe partner waaraan het opgegeven beleidsclaimtype is toegewezen. Als het kenmerk PartnerClaimType niet is opgegeven, wordt het opgegeven beleidsclaimtype toegewezen aan het claimtype van de partner met dezelfde naam. Gebruik deze eigenschap wanneer de naam van uw claimtype verschilt van de andere partij. Een voorbeeld is als de voornaam van de claim givenName is, terwijl de partner een claim met de naam first_name gebruikt.

In het volgende voorbeeld behoudt het technische profiel AAD-UserWriteUsingLogonEmail of het starterspakket, dat een nieuw lokaal account maakt, de volgende claims:

<PersistedClaims>
  <PersistedClaim ClaimTypeReferenceId="email" PartnerClaimType="signInNames.emailAddress" />
  <PersistedClaim ClaimTypeReferenceId="newPassword" PartnerClaimType="password"/>
  <PersistedClaim ClaimTypeReferenceId="displayName" DefaultValue="unknown" />
  <PersistedClaim ClaimTypeReferenceId="passwordPolicies" DefaultValue="DisablePasswordExpiration" />
  <PersistedClaim ClaimTypeReferenceId="givenName" />
  <PersistedClaim ClaimTypeReferenceId="surname" />
</PersistedClaims>

Uitvoerclaims

Het element OutputClaims is een verzameling claims die worden geretourneerd naar de claimzak nadat het technische profiel is voltooid. U kunt deze claims gebruiken in de volgende indelingsstap of uitvoerclaimtransformaties. Het element OutputClaims bevat het volgende element:

Element Instanties Beschrijving
OutputClaim 1:n Een verwacht type uitvoerclaim.

OutputClaim

Het Element OutputClaim bevat de volgende kenmerken:

Kenmerk Vereist Beschrijving
ClaimTypeReferenceId Ja De id van een claimtype dat al is gedefinieerd in de sectie ClaimsSchema in het beleidsbestand of het bovenliggende beleidsbestand.
Standaardwaarde Nee Een standaardwaarde die moet worden gebruikt om een claim te maken als de claim niet bestaat.
AlwaysUseDefaultValue Nee Dwingt het gebruik van de standaardwaarde af.
PartnerClaimType Nee De id van het claimtype van de externe partner waaraan het opgegeven beleidsclaimtype is toegewezen. Als het claimtypekenmerk van de partner niet is opgegeven, wordt het opgegeven claimtype van het beleid toegewezen aan het claimtype van de partner met dezelfde naam. Gebruik deze eigenschap wanneer de naam van uw claimtype verschilt van de andere partij. Een voorbeeld is als de voornaam van de claim givenName is, terwijl de partner een claim met de naam first_name gebruikt.

Transformaties van uitvoerclaims

Het element OutputClaimsTransformations kan een verzameling OutputClaimsTransformation-elementen bevatten. De transformaties van uitvoerclaims worden gebruikt om de uitvoerclaims te wijzigen of nieuwe claims te genereren. Na de uitvoering worden de uitvoerclaims teruggezet in de claimtas. U kunt deze claims gebruiken in de volgende indelingsstap.

De uitvoerclaims van een eerdere claimtransformatie in de verzameling claimstransformatie kunnen invoerclaims zijn van een volgende transformatie van invoerclaims. Op deze manier kunt u een reeks claimstransformaties hebben die van elkaar afhankelijk zijn.

Het element OutputClaimsTransformations bevat het volgende element:

Element Instanties Beschrijving
OutputClaimsTransformation 1:n De id's van claimtransformaties die moeten worden uitgevoerd voordat claims worden verzonden naar de claimprovider of de relying party. Een claimtransformatie kan worden gebruikt om bestaande ClaimsSchema-claims te wijzigen of nieuwe claims te genereren.

OutputClaimsTransformation

Het element OutputClaimsTransformation bevat het volgende kenmerk:

Kenmerk Vereist Beschrijving
ReferenceId Ja Een id van een claimtransformatie die al is gedefinieerd in het beleidsbestand of het bovenliggende beleidsbestand.

Het volgende technische profiel verwijst naar de claimtransformatie AssertAccountEnabledIsTrue om te evalueren of het account al dan niet is ingeschakeld nadat de accountEnabled claim uit de directory is gelezen.

<TechnicalProfile Id="AAD-UserReadUsingEmailAddress">
  ...
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="objectId" />
    <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="localAccountAuthentication" />
    <OutputClaim ClaimTypeReferenceId="userPrincipalName" />
    <OutputClaim ClaimTypeReferenceId="displayName" />
    <OutputClaim ClaimTypeReferenceId="accountEnabled" />
    <OutputClaim ClaimTypeReferenceId="otherMails" />
    <OutputClaim ClaimTypeReferenceId="signInNames.emailAddress" />
  </OutputClaims>
  <OutputClaimsTransformations>
    <OutputClaimsTransformation ReferenceId="AssertAccountEnabledIsTrue" />
  </OutputClaimsTransformations>
  ...
</TechnicalProfile>

Technische validatieprofielen

Een validatie technisch profiel wordt gebruikt voor het valideren van uitvoerclaims in een zelf-asserted technisch profiel. Een validatie technisch profiel is een gewoon technisch profiel van elk protocol, zoals Microsoft Entra-id of een REST API. Het technische validatieprofiel retourneert uitvoerclaims of retourneert foutcode. Het foutbericht wordt weergegeven aan de gebruiker op het scherm, zodat de gebruiker het opnieuw kan proberen.

In het volgende diagram ziet u hoe Azure AD B2C een technisch validatieprofiel gebruikt om de gebruikersreferenties te valideren.

Diagram that shows a validation technical profile flow.

Het element ValidationTechnicalProfiles bevat het volgende element:

Element Instanties Beschrijving
ValidationTechnicalProfile 1:n De id's van technische profielen die worden gebruikt, valideren enkele of alle uitvoerclaims van het verwijzende technische profiel. Alle invoerclaims van het technische profiel waarnaar wordt verwezen, moeten worden weergegeven in de uitvoerclaims van het technische profiel waarnaar wordt verwezen.

ValidationTechnicalProfile

Het element ValidationTechnicalProfile bevat het volgende kenmerk:

Kenmerk Vereist Beschrijving
ReferenceId Ja Een id van een technisch profiel dat al is gedefinieerd in het beleidsbestand of het bovenliggende beleidsbestand.

SubjectNamingInfo

Het element SubjectNamingInfo definieert de onderwerpnaam die wordt gebruikt in tokens in een relying party-beleid. Het element SubjectNamingInfo bevat het volgende kenmerk:

Kenmerk Vereist Beschrijving
ClaimType Ja Een id van een claimtype dat al is gedefinieerd in de sectie ClaimsSchema in het beleidsbestand.

Technisch profiel opnemen

Een technisch profiel kan een ander technisch profiel bevatten om instellingen te wijzigen of nieuwe functionaliteit toe te voegen. Het element IncludeTechnicalProfile is een verwijzing naar het algemene technische profiel waaruit een technisch profiel wordt afgeleid. Als u redundantie en complexiteit van uw beleidselementen wilt verminderen, gebruikt u insluiting wanneer u meerdere technische profielen hebt die de kernelementen delen. Gebruik een gemeenschappelijk technisch profiel met de algemene set configuraties, samen met specifieke taak technische profielen die het algemene technische profiel bevatten.

Stel dat u een technisch REST API-profiel hebt met één eindpunt waar u verschillende sets claims voor verschillende scenario's moet verzenden. Maak een algemeen technisch profiel met de gedeelde functionaliteit, zoals de REST API-eindpunt-URI, metagegevens, verificatietype en cryptografische sleutels. Specifieke taak technische profielen maken die het algemene technische profiel bevatten. Voeg vervolgens de invoer- en uitvoerclaims toe of overschrijf de REST API-eindpunt-URI die relevant is voor dat technische profiel.

Het element IncludeTechnicalProfile bevat het volgende kenmerk:

Kenmerk Vereist Beschrijving
ReferenceId Ja Een id van een technisch profiel dat al is gedefinieerd in het beleidsbestand of het bovenliggende beleidsbestand.

In het volgende voorbeeld ziet u het gebruik van de opname:

  • REST-API-Common: een algemeen technisch profiel met de basisconfiguratie.
  • REST-ValidateProfile: bevat het technische profiel REST-API-Common en geeft de invoer- en uitvoerclaims op.
  • REST-UpdateProfile: bevat het technische profiel REST-API-Common , geeft de invoerclaims op en overschrijft de ServiceUrl metagegevens.
<ClaimsProvider>
  <DisplayName>REST APIs</DisplayName>
  <TechnicalProfiles>
    <TechnicalProfile Id="REST-API-Common">
      <DisplayName>Base REST API configuration</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-name.azurewebsites.NET/api/identity</Item>
        <Item Key="AuthenticationType">Basic</Item>
        <Item Key="SendClaimsIn">Body</Item>
      </Metadata>
      <CryptographicKeys>
        <Key Id="BasicAuthenticationUsername" StorageReferenceId="B2C_1A_B2cRestClientId" />
        <Key Id="BasicAuthenticationPassword" StorageReferenceId="B2C_1A_B2cRestClientSecret" />
      </CryptographicKeys>
      <UseTechnicalProfileForSessionManagement ReferenceId="SM-Noop" />
    </TechnicalProfile>

    <TechnicalProfile Id="REST-ValidateProfile">
      <DisplayName>Validate the account and return promo code</DisplayName>
      <InputClaims>
        <InputClaim ClaimTypeReferenceId="objectId" />
        <InputClaim ClaimTypeReferenceId="email" />
        <InputClaim ClaimTypeReferenceId="userLanguage" PartnerClaimType="lang" DefaultValue="{Culture:LCID}" AlwaysUseDefaultValue="true" />
      </InputClaims>
      <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="promoCode" />
      </OutputClaims>
      <IncludeTechnicalProfile ReferenceId="REST-API-Common" />
    </TechnicalProfile>

    <TechnicalProfile Id="REST-UpdateProfile">
      <DisplayName>Update the user profile</DisplayName>  
      <Metadata>
        <Item Key="ServiceUrl">https://your-app-name.azurewebsites.NET/api/identity/update</Item>
      </Metadata>
      <InputClaims>
        <InputClaim ClaimTypeReferenceId="objectId" />
        <InputClaim ClaimTypeReferenceId="email" />
      </InputClaims>
      <IncludeTechnicalProfile ReferenceId="REST-API-Common" />
    </TechnicalProfile>
  </TechnicalProfiles>
</ClaimsProvider>

Opname op meerdere niveaus

Een technisch profiel kan één technisch profiel bevatten. Er is geen limiet voor het aantal opnameniveaus. Het technische profiel AAD-UserReadUsingAlternativeSecurityId-NoError bevat bijvoorbeeld AAD-UserReadUsingAlternativeSecurityId. Met dit technische profiel wordt het RaiseErrorIfClaimsPrincipalDoesNotExist metagegevensitem ingesteld true op en wordt een fout gegenereerd als er geen sociaal account in de map bestaat. AAD-UserReadUsingAlternativeSecurityId-NoError overschrijft dit gedrag en schakelt dat foutbericht uit.

<TechnicalProfile Id="AAD-UserReadUsingAlternativeSecurityId-NoError">
  <Metadata>
    <Item Key="RaiseErrorIfClaimsPrincipalDoesNotExist">false</Item>
  </Metadata>
  <IncludeTechnicalProfile ReferenceId="AAD-UserReadUsingAlternativeSecurityId" />
</TechnicalProfile>

AAD-UserReadUsingAlternativeSecurityId bevat het AAD-Common technische profiel.

<TechnicalProfile Id="AAD-UserReadUsingAlternativeSecurityId">
  <Metadata>
    <Item Key="Operation">Read</Item>
    <Item Key="RaiseErrorIfClaimsPrincipalDoesNotExist">true</Item>
    <Item Key="UserMessageIfClaimsPrincipalDoesNotExist">User does not exist. Please sign up before you can sign in.</Item>
  </Metadata>
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="AlternativeSecurityId" PartnerClaimType="alternativeSecurityId" Required="true" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="objectId" />
    <OutputClaim ClaimTypeReferenceId="userPrincipalName" />
    <OutputClaim ClaimTypeReferenceId="displayName" />
    <OutputClaim ClaimTypeReferenceId="otherMails" />
    <OutputClaim ClaimTypeReferenceId="givenName" />
    <OutputClaim ClaimTypeReferenceId="surname" />
  </OutputClaims>
  <IncludeTechnicalProfile ReferenceId="AAD-Common" />
</TechnicalProfile>

Zowel AAD-UserReadUsingAlternativeSecurityId-NoError als AAD-UserReadUsingAlternativeSecurityId geven het vereiste protocolelement niet op omdat dit is opgegeven in het technische profiel AAD-Common .

<TechnicalProfile Id="AAD-Common">
  <DisplayName>Azure Active Directory</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AzureActiveDirectoryProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
  ...
</TechnicalProfile>

Technisch profiel gebruiken voor sessiebeheer

Het element UseTechnicalProfileForSessionManagement verwijst naar het technische profiel voor eenmalige aanmeldingssessies. Het element UseTechnicalProfileForSessionManagement bevat het volgende kenmerk:

Kenmerk Vereist Beschrijving
ReferenceId Ja Een id van een technisch profiel dat al is gedefinieerd in het beleidsbestand of het bovenliggende beleidsbestand.

Ingeschakeld voor gebruikersbelevingen

De ClaimsProviderSelections in een gebruikerstraject definieert de lijst met selectieopties van claimproviders en hun volgorde. Met het element EnabledForUserJourneys filtert u welke claimprovider beschikbaar is voor de gebruiker. Het element EnabledForUserJourneys bevat een van de volgende waarden:

  • Altijd: voert het technische profiel uit.
  • Nooit: Slaat het technische profiel over.
  • OnClaimsExistence: wordt alleen uitgevoerd wanneer een bepaalde claim die is opgegeven in het technische profiel bestaat.
  • OnItemExistenceInStringCollectionClaim: wordt alleen uitgevoerd wanneer een item bestaat in een verzamelingsclaim voor tekenreeksen.
  • OnItemAbsenceInStringCollectionClaim: wordt alleen uitgevoerd wanneer een item niet bestaat in een verzamelingsclaim voor tekenreeksen.

Als u OnClaimsExistence, OnItemExistenceInStringCollectionClaim of OnItemAbsenceInStringCollectionClaim gebruikt, moet u de volgende metagegevens opgeven:

  • ClaimTypeOnWhichToEnable: hiermee geeft u het type claim op dat moet worden geëvalueerd.
  • ClaimValueOnWhichToEnable: hiermee geeft u de waarde op die moet worden vergeleken.

Het volgende technische profiel wordt alleen uitgevoerd als de verzameling identityProviders-tekenreeks de waarde van facebook.com:

<TechnicalProfile Id="UnLink-Facebook-OAUTH">
  <DisplayName>Unlink Facebook</DisplayName>
...
    <Metadata>
      <Item Key="ClaimTypeOnWhichToEnable">identityProviders</Item>
      <Item Key="ClaimValueOnWhichToEnable">facebook.com</Item>
    </Metadata>
...
  <EnabledForUserJourneys>OnItemExistenceInStringCollectionClaim</EnabledForUserJourneys>
</TechnicalProfile>