Delen via


Een technisch validatieprofiel definiëren in een aangepast Azure Active Directory B2C-beleid

Belangrijk

Vanaf 1 mei 2025 is Azure AD B2C niet meer beschikbaar voor nieuwe klanten. Meer informatie vindt u in onze veelgestelde vragen.

Opmerking

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 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 4xx HTTP-statuscode met de volgende gegevens. Zie Foutmelding retourneren voor meer informatie

{
    "version": "1.0.0",
    "status": 409,
    "userMessage": "Your error message"
}

Het bereik van de outputclaims van een technisch validatieprofiel is beperkt tot het zelfbevestigde technische profiel dat het technische profiel voor validatie aanroept, en de bijbehorende technische validatieprofielen. Als u de uitvoerdeclaraties in de volgende indelingsstap wilt gebruiken, voegt u de uitvoerdeclaraties toe aan het zelfbevestigde technische profiel dat het technische validatieprofiel aanroept.

Technische profielen voor validatie worden uitgevoerd in de volgorde waarin ze worden weergegeven in het element ValidationTechnicalProfiles . U kunt in een technisch validatieprofiel configureren of de uitvoering van volgende technische validatieprofielen moet worden voortgezet als het technische validatieprofiel een fout veroorzaakt of is geslaagd.

Een technisch profiel voor validatie kan voorwaardelijk worden uitgevoerd op basis van voorwaarden die zijn gedefinieerd in het element ValidationTechnicalProfile . U kunt bijvoorbeeld controleren of een specifieke claim bestaat en of een claim al dan niet gelijk is aan de opgegeven waarde.

In een zelfopgesteld technisch profiel kan een technisch validatieprofiel worden gedefinieerd dat moet worden gebruikt voor het valideren van sommige of alle outputclaims. Alle invoerclaims van het technische profiel waarnaar wordt verwezen, moeten worden weergegeven in de outputclaims van het technische profiel voor verwijzingsvalidatie.

Opmerking

Alleen zelf-asserted technische profielen kunnen gebruikmaken van validatie technische profielen. Als u de uitvoerclaims van niet-assertieve technische profielen moet valideren, kunt u overwegen een extra indelingsstap in uw gebruikersreis te gebruiken om plaats te bieden aan het technische profiel dat verantwoordelijk is voor de validatie.

ValidatieTechnicalProfiles

Het element ValidationTechnicalProfiles bevat de volgende elementen:

Onderdeel Instanties Beschrijving
ValidatieTechnisch Profiel 1:n Een technisch profiel dat moet worden gebruikt voor het valideren van sommige of alle outputclaims van het technische referentieprofiel.

Het element ValidationTechnicalProfile bevat het volgende kenmerk:

Eigenschap Verplicht Beschrijving
Referentie-id Ja Een id van een technisch profiel dat al is gedefinieerd in het beleid of het bovenliggende beleid.
ContinueOnError Nee. Aangeven of de validatie van volgende technische validatieprofielen moet worden voortgezet als dit technische validatieprofiel een fout veroorzaakt. Mogelijke waarden: true of false (standaard wordt de verwerking van verdere validatieprofielen gestopt en wordt er een fout geretourneerd).
DoorgaanAanSucces Nee. Aangeven of de validatie van eventuele volgende validatieprofielen moet worden voortgezet als dit technische validatieprofiel slaagt. Mogelijke waarden: true of false. De standaardinstelling is true, wat betekent dat de verwerking van verdere validatieprofielen wordt voortgezet.

Opmerking

Als u momenteel ContinueOnError instelt op false voor een technisch validatieprofiel van het type ClaimsTransformation, wordt de instelling niet gerespecteerd door het technische profiel. Gebruik in plaats daarvan Randvoorwaarden om dit probleem op te lossen.

Het element ValidationTechnicalProfile bevat het volgende element:

Onderdeel Instanties Beschrijving
Voorwaarden 0:1 Een lijst met randvoorwaarden waaraan moet worden voldaan om het technische validatieprofiel uit te voeren.

Het element Voorwaarde: bevat het volgende kenmerk:

Eigenschap Verplicht Beschrijving
Type Ja Het type controle of query dat moet worden uitgevoerd voor de voorwaarde. Ofwel ClaimsExist wordt gespecificeerd om ervoor te zorgen dat acties moeten worden uitgevoerd als de opgegeven claims voorkomen in de huidige claimset van de gebruiker, of ClaimEquals er wordt gespecificeerd dat de acties moeten worden uitgevoerd als de opgegeven claim bestaat en de waarde ervan gelijk is aan de opgegeven waarde.
ExecuteActionsIf Ja Geeft aan of de acties in de voorwaarde moeten worden uitgevoerd als de test waar of onwaar is.

Het element Voorconditie bevat de volgende elementen:

Onderdeel Instanties Beschrijving
Waarde 1:n De gegevens die door de controle worden gebruikt. Als het type van deze controle is ClaimsExist, geeft dit veld een ClaimTypeReferenceId op waarnaar een query moet worden uitgevoerd. Als het type controle is ClaimEquals, geeft dit veld een ClaimTypeReferenceId op waarnaar een query moet worden uitgevoerd. Terwijl een ander waarde-element de waarde bevat die moet worden gecontroleerd.
Handeling 1:1 De actie die moet worden ondernomen als aan de randvoorwaarde binnen een orkestratiestap wordt voldaan. De waarde van de actie is ingesteld op SkipThisValidationTechnicalProfile. Geeft aan dat het bijbehorende technische validatieprofiel niet mag worden uitgevoerd.

Voorbeeld

In het volgende voorbeeld worden de volgende technische validatieprofielen gebruikt:

  1. Het technische profiel van de eerste validatie controleert de gebruikersgegevens en gaat niet verder als er een fout optreedt, zoals een ongeldige gebruikersnaam of een onjuist wachtwoord.
  2. Het volgende technische validatieprofiel wordt niet uitgevoerd als de claim userType niet bestaat of als de waarde van het userType gelijk is aan Partner. Het technische validatieprofiel probeert het gebruikersprofiel uit de interne klantendatabase te lezen en door te gaan als er een fout optreedt, zoals REST API-service niet beschikbaar of een interne fout.
  3. Het laatste technische validatieprofiel wordt niet uitgevoerd als de userType-claim niet heeft bestaan of als de waarde van het userType gelijk is aan Customer. Het technische validatieprofiel probeert het gebruikersprofiel uit de interne partnerdatabase te lezen en gaat door als er een fout optreedt, zoals REST API-service niet beschikbaar of een interne fout.
<ValidationTechnicalProfiles>
  <ValidationTechnicalProfile ReferenceId="login-NonInteractive" ContinueOnError="false" />
  <ValidationTechnicalProfile ReferenceId="REST-ReadProfileFromCustomersDatabase" ContinueOnError="true" >
    <Preconditions>
      <Precondition Type="ClaimsExist" ExecuteActionsIf="false">
        <Value>userType</Value>
        <Action>SkipThisValidationTechnicalProfile</Action>
      </Precondition>
      <Precondition Type="ClaimEquals" ExecuteActionsIf="true">
        <Value>userType</Value>
        <Value>Partner</Value>
        <Action>SkipThisValidationTechnicalProfile</Action>
      </Precondition>
    </Preconditions>
  </ValidationTechnicalProfile>
  <ValidationTechnicalProfile ReferenceId="REST-ReadProfileFromPartnersDatabase" ContinueOnError="true" >
    <Preconditions>
      <Precondition Type="ClaimsExist" ExecuteActionsIf="false">
        <Value>userType</Value>
        <Action>SkipThisValidationTechnicalProfile</Action>
      </Precondition>
      <Precondition Type="ClaimEquals" ExecuteActionsIf="true">
        <Value>userType</Value>
        <Value>Customer</Value>
        <Action>SkipThisValidationTechnicalProfile</Action>
      </Precondition>
    </Preconditions>
  </ValidationTechnicalProfile>
</ValidationTechnicalProfiles>