Een technisch validatieprofiel definiëren in een aangepast Azure Active Directory B2C-beleid
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 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 het foutbericht retourneren voor meer informatie
{
"version": "1.0.0",
"status": 409,
"userMessage": "Your error message"
}
Het bereik van de uitvoerclaims van een validatie technisch profiel is beperkt tot het zelfbeclaimde technische profiel dat het technische validatieprofiel aanroept en de bijbehorende technische profielen voor validatie. Als u de uitvoerclaims in de volgende indelingsstap wilt gebruiken, voegt u de uitvoerclaims toe aan het zelfbewuste technische profiel dat het technische validatieprofiel aanroept.
Technische validatieprofielen worden uitgevoerd in de volgorde die ze in het element ValidationTechnicalProfiles worden weergegeven. U kunt in een validatie technisch profiel configureren of de uitvoering van eventuele volgende technische validatieprofielen moet worden voortgezet als het technische validatieprofiel een fout veroorzaakt of is geslaagd.
Een validatie technisch profiel kan voorwaardelijk worden uitgevoerd op basis van voorwaarden die zijn gedefinieerd in het element ValidationTechnicalProfile . U kunt bijvoorbeeld controleren of een specifieke claim bestaat of als een claim gelijk is aan of niet aan de opgegeven waarde.
Een zelf-asserted technisch profiel kan een validatie technisch profiel definiëren dat moet worden gebruikt voor het valideren van sommige of alle uitvoerclaims. Alle invoerclaims van het technische profiel waarnaar wordt verwezen, moeten worden weergegeven in de uitvoerclaims van het technische profiel voor refererende validatie.
Notitie
Alleen zelf-asserted technische profielen kunnen gebruikmaken van validatie technische profielen. Als u de uitvoerclaims van niet-zelfbevestige technische profielen wilt valideren, kunt u overwegen om een extra indelingsstap in uw gebruikerstraject te gebruiken om het technische profiel te ondersteunen dat verantwoordelijk is voor de validatie.
ValidationTechnicalProfiles
Het element ValidationTechnicalProfiles bevat de volgende elementen:
Element | Instanties | Beschrijving |
---|---|---|
ValidationTechnicalProfile | 1:n | Een technisch profiel dat moet worden gebruikt voor het valideren van enkele of alle uitvoerclaims van het verwijzende technische profiel. |
Het element ValidationTechnicalProfile bevat het volgende kenmerk:
Kenmerk | Vereist | Beschrijving |
---|---|---|
ReferenceId | Ja | Een id van een technisch profiel dat al is gedefinieerd in het beleid of het bovenliggende beleid. |
ContinueOnError | Nee | Hiermee wordt aangegeven of de validatie van eventuele 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 er wordt een fout geretourneerd). |
ContinueOnSuccess | Nee | Hiermee wordt aangegeven of de validatie van eventuele volgende validatieprofielen moet worden voortgezet als dit technische validatieprofiel slaagt. Mogelijke waarden: true of false . De standaardwaarde is true , wat betekent dat de verwerking van verdere validatieprofielen wordt voortgezet. |
Notitie
Als u ContinueOnError op dit moment instelt op false voor een validatie technisch profiel van het type ClaimsTransformation, wordt de instelling niet door het technische profiel gehonoreerd. Gebruik in plaats daarvan voorwaarden om dit probleem op te lossen.
Het element ValidationTechnicalProfile bevat het volgende element:
Element | Instanties | Beschrijving |
---|---|---|
Voorwaarden vooraf | 0:1 | Een lijst met voorwaarden waaraan moet worden voldaan om het technische validatieprofiel uit te voeren. |
Het element Voorwaarde bevat het volgende kenmerk:
Kenmerk | Vereist | Omschrijving |
---|---|---|
Type |
Ja | Het type controle of query dat moet worden uitgevoerd voor de voorwaarde. Een van ClaimsExist beide is opgegeven om ervoor te zorgen dat acties moeten worden uitgevoerd als de opgegeven claims bestaan in de huidige claimset van de gebruiker, of ClaimEquals wordt opgegeven dat de acties moeten worden uitgevoerd als de opgegeven claim bestaat en de waarde 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 Voorwaarde bevat de volgende elementen:
Element | 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 waarvoor een query moet worden uitgevoerd. Als het type controle is ClaimEquals , geeft dit veld een ClaimTypeReferenceId op om een query op uit te voeren. Terwijl een ander waardeelement de waarde bevat die moet worden gecontroleerd. |
Actie | 1:1 | De actie die moet worden uitgevoerd als de voorwaardecontrole binnen een indelingsstap waar is. De waarde van de actie is ingesteld op SkipThisValidationTechnicalProfile . Hiermee geeft u op dat het bijbehorende technische validatieprofiel niet mag worden uitgevoerd. |
Opmerking
In het volgende voorbeeld worden deze technische validatieprofielen gebruikt:
- Het eerste technische validatieprofiel controleert gebruikersreferenties en gaat niet door als er een fout optreedt, zoals een ongeldige gebruikersnaam of ongeldig wachtwoord.
- Het volgende technische validatieprofiel wordt niet uitgevoerd als de claim userType niet bestaat of als de waarde van het userType is
Partner
. Het technische validatieprofiel probeert het gebruikersprofiel te lezen uit de interne klantdatabase en door te gaan als er een fout optreedt, zoals de REST API-service niet beschikbaar of een interne fout. - Het laatste technische validatieprofiel wordt niet uitgevoerd als de claim userType niet bestaat of als de waarde van het userType is
Customer
. Het technische validatieprofiel probeert het gebruikersprofiel te lezen uit de interne partnerdatabase en wordt voortgezet als er een fout optreedt, zoals de 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>