Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Belangrijk
Vanaf 1 mei 2025 is Azure AD B2C niet meer beschikbaar voor nieuwe klanten. Meer informatie vindt u in onze veelgestelde vragen.
Dit artikel bevat voorbeelden voor het gebruik van de datumclaimtransformaties van het Identity Experience Framework-schema in Azure Active Directory B2C (Azure AD B2C). Zie claimtransformaties voor meer informatie.
AssertDateTimeIsGreaterThan
Geeft aan dat één datum later is dan een tweede datum. Bepaalt of de rightOperand
waarde groter is dan de leftOperand
. Zo ja, genereert een uitzondering. Bekijk de livedemo van deze claimtransformatie.
Onderdeel | TransformatieClaimType | Gegevenssoort | Opmerkingen |
---|---|---|---|
Invoer claimen | linksoperand | touw | Het type van de eerste claim, dat later moet zijn dan de tweede claim. |
Invoer claimen | rechtsOperand | touw | Tweede claimtype, dat eerder moet zijn dan de eerste claim. |
Invoerparameter | AssertIfEqualTo | booleaan | Hiermee geeft u op of deze bewering een fout moet veroorzaken als de linkeroperand gelijk is aan de rechteroperand. Mogelijke waarden: true (standaard) of false . |
Invoerparameter | BewerenAlsRechtsOperandIsNietAanwezig | booleaan | Hiermee geeft u op of deze assertie moet worden doorgegeven als de juiste operand ontbreekt. |
Invoerparameter | TreatAsEqualIfWithinMillseconds | int (integer) | Hiermee geeft u het aantal milliseconden op dat tussen de twee datums moet worden toegestaan om rekening te houden met de tijden die gelijk zijn (bijvoorbeeld om rekening te houden met de klok scheeftrekken). |
De claimtransformatie AssertDateTimeIsGreaterThan wordt altijd uitgevoerd vanuit een validatie technisch profiel dat wordt aangeroepen door een zelf-asserted technisch profiel. De metagegevens van het technische profiel DateTimeGreaterThan beheren het foutbericht dat het technische profiel aan de gebruiker presenteert. De foutberichten kunnen worden gelokaliseerd.
Voorbeeld van AssertDateTimeIsGreaterThan
In het volgende voorbeeld wordt de currentDateTime
claim vergeleken met de approvedDateTime
claim. Er wordt een fout gegenereerd als currentDateTime
deze later is dan approvedDateTime
. De transformatie behandelt waarden als gelijk als ze binnen 5 minuten (30000 milliseconden) verschil zijn. Er wordt geen fout gegenereerd als de waarden gelijk zijn aan omdat AssertIfEqualTo
deze is ingesteld op false
.
<ClaimsTransformation Id="AssertApprovedDateTimeLaterThanCurrentDateTime" TransformationMethod="AssertDateTimeIsGreaterThan">
<InputClaims>
<InputClaim ClaimTypeReferenceId="approvedDateTime" TransformationClaimType="leftOperand" />
<InputClaim ClaimTypeReferenceId="currentDateTime" TransformationClaimType="rightOperand" />
</InputClaims>
<InputParameters>
<InputParameter Id="AssertIfEqualTo" DataType="boolean" Value="false" />
<InputParameter Id="AssertIfRightOperandIsNotPresent" DataType="boolean" Value="true" />
<InputParameter Id="TreatAsEqualIfWithinMillseconds" DataType="int" Value="300000" />
</InputParameters>
</ClaimsTransformation>
Opmerking
Als u in het bovenstaande voorbeeld de AssertIfEqualTo
invoerparameter verwijdert en de currentDateTime
parameter gelijk is aanapprovedDateTime
, wordt er een fout gegenereerd. De AssertIfEqualTo
standaardwaarde is true
.
- Invoerclaims:
- linksOperand: 2022-01-01T15:00:00
- rechts: 2022-01-22T15:00:00
- Invoerparameters:
- AssertIfEqualTo: onwaar
- AssertIfRightOperandIsNotPresent: waar
- TreatAsEqualIfWithinMillseconds: 300000 (30 seconden)
- Resultaat: fout gegenereerd
De claimtransformatie aanroepen
Het volgende Example-AssertDates
technische validatieprofiel roept de AssertApprovedDateTimeLaterThanCurrentDateTime
claimtransformatie aan.
<TechnicalProfile Id="Example-AssertDates">
<DisplayName>Unit test</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.ClaimsTransformationProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="ComparisonResult" DefaultValue="false" />
</OutputClaims>
<OutputClaimsTransformations>
<OutputClaimsTransformation ReferenceId="AssertDates" />
</OutputClaimsTransformations>
<UseTechnicalProfileForSessionManagement ReferenceId="SM-Noop" />
</TechnicalProfile>
Het zelfbeweert technische profiel roept het technische validatieprofiel Example-AssertDates
aan.
<TechnicalProfile Id="SelfAsserted-AssertDateTimeIsGreaterThan">
<DisplayName>User ID signup</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.SelfAssertedAttributeProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<Metadata>
<Item Key="ContentDefinitionReferenceId">api.selfasserted</Item>
<Item Key="DateTimeGreaterThan">Custom error message if the provided right operand is greater than the right operand.</Item>
</Metadata>
...
<ValidationTechnicalProfiles>
<ValidationTechnicalProfile ReferenceId="ClaimsTransformation-AssertDateTimeIsGreaterThan" />
</ValidationTechnicalProfiles>
</TechnicalProfile>
ConvertDateTimeToDateClaim
Converteert een DateTime
claimtype naar een Date
claimtype. De claimtransformatie verwijdert de tijdnotatie van de datum. Bekijk de livedemo van deze claimtransformatie.
Onderdeel | TransformatieClaimType | Gegevenssoort | Opmerkingen |
---|---|---|---|
Invoer claimen | invoerClaim | datum en tijd | Het claimtype dat moet worden geconverteerd. |
Uitvoer claimen | outputClaim | datum | Het claimtype dat wordt geproduceerd nadat deze claimtransformatie is aangeroepen. |
Voorbeeld van ConvertDateTimeToDateClaim
In het volgende voorbeeld ziet u de conversie van de claim systemDateTime
(datum/tijd-gegevenstype) naar een andere claim systemDate
(datumgegevenstype).
<ClaimsTransformation Id="ConvertToDate" TransformationMethod="ConvertDateTimeToDateClaim">
<InputClaims>
<InputClaim ClaimTypeReferenceId="systemDateTime" TransformationClaimType="inputClaim" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="systemDate" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
- Invoerclaims:
- inputClaim: 2022-01-03T11:34:22.00000000Z
- Uitvoerclaims:
- outputClaim: 2022-01-03
ConvertDateToDateTimeClaim
Converteert een Date
claimtype naar een DateTime
claimtype. De claimtransformatie converteert de tijdnotatie en voegt 12:00:00 uur toe aan de datum. Bekijk de livedemo van deze claimtransformatie.
Onderdeel | TransformatieClaimType | Gegevenssoort | Opmerkingen |
---|---|---|---|
Invoer claimen | invoerClaim | datum | Het claimtype dat moet worden geconverteerd. |
Uitvoer claimen | outputClaim | datum en tijd | Het claimtype dat wordt geproduceerd nadat deze claimtransformatie is aangeroepen. |
Voorbeeld van ConvertDateToDateTimeClaim
In het volgende voorbeeld ziet u de conversie van de claim dateOfBirth
(datumgegevenstype) naar een andere claim dateOfBirthWithTime
(datum/tijd-gegevenstype).
<ClaimsTransformation Id="ConvertToDateTime" TransformationMethod="ConvertDateToDateTimeClaim">
<InputClaims>
<InputClaim ClaimTypeReferenceId="dateOfBirth" TransformationClaimType="inputClaim" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="dateOfBirthWithTime" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
- Invoerclaims:
- invoerClaim: 2022-01-03
- Uitvoerclaims:
- outputClaim: 2022-01-03T00:00:00.0000000Z
DateTimeVergelijking
Vergelijkt twee datums en bepaalt of de eerste datum later, eerder of gelijk is aan een andere datum. Het resultaat is een nieuwe Booleaanse claim met een waarde van true
of false
. Bekijk de livedemo van deze claimtransformatie.
Onderdeel | TransformatieClaimType | Gegevenssoort | Opmerkingen |
---|---|---|---|
Invoer claimen | eerste DateTime | datum en tijd | De eerste datum om te vergelijken of deze later, eerder of gelijk is aan de tweede datum. Een null waarde genereert een uitzondering. |
Invoer claimen | tweedeDateTime | datum en tijd | De tweede datum die moet worden vergeleken. Null-waarde wordt behandeld als de huidige datum en tijd. |
Invoerparameter | timeSpanInSeconds | int (integer) | Tijdspanne die moet worden toegevoegd aan de eerste datum. Mogelijke waarden: variëren van negatief -2.147.483.648 tot positief 2.147.483.647. |
Invoerparameter | bediener | touw | Een van de volgende waarden: same , later than of earlier than . |
Uitvoer claimen | resultaat | booleaan | De claim die wordt geproduceerd nadat deze claimtransformatie is aangeroepen. |
Voorbeeld van DateTimeComparison
Gebruik deze claimtransformatie om te bepalen of de eerste datum plus de timeSpanInSeconds
parameter later, eerder of gelijk is aan een andere. In het volgende voorbeeld ziet u dat de eerste datum (2022-01-01T00:00:00) plus 90 dagen later is dan de tweede datum (2022-03-16T00:00:00).
<ClaimsTransformation Id="CompareLastTOSAcceptedWithCurrentDateTime" TransformationMethod="DateTimeComparison">
<InputClaims>
<InputClaim ClaimTypeReferenceId="extension_LastTOSAccepted" TransformationClaimType="secondDateTime" />
<InputClaim ClaimTypeReferenceId="currentDateTime" TransformationClaimType="firstDateTime" />
</InputClaims>
<InputParameters>
<InputParameter Id="operator" DataType="string" Value="later than" />
<InputParameter Id="timeSpanInSeconds" DataType="int" Value="7776000" />
</InputParameters>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="isLastTOSAcceptedGreaterThanNow" TransformationClaimType="result" />
</OutputClaims>
</ClaimsTransformation>
- Invoerclaims:
- firstDateTime: 2022-01-01T00:00:00.100000Z
- secondDateTime: 2022-03-16T00:00:00.100000Z
- Invoerparameters:
- operator: later dan
- timeSpanInSeconds: 7776000 (90 dagen)
- Uitvoerclaims:
- resultaat: true
IsGebruiksvoorwaardenToestemmingVereist
Bepaal of een dateTime
claimtype eerder of groter is dan een specifieke datum. Het resultaat is een nieuwe Booleaanse claim met een waarde van true
of false
. Bekijk de livedemo van deze claimtransformatie.
Onderdeel | TransformatieClaimType | Gegevenstype | Opmerkingen |
---|---|---|---|
Invoer claimen | gebruiksvoorwaardenToestemmingDateTime | datum en tijd | Het dateTime claimtype om te controleren of het eerder of later is dan de termsOfUseTextUpdateDateTime invoerparameter. Niet-gedefinieerde waarde retourneert true resultaat. |
Invoerparameter | termsOfUseTextUpdateDateTime | datum en tijd | Het dateTime claimtype om te controleren of het eerder of later is dan de termsOfUseConsentDateTime invoerclaim. Het tijdgedeelte van de datum is optioneel. |
Uitvoer claimen | resultaat | booleaan | Het claimtype dat wordt geproduceerd nadat deze claimtransformatie is aangeroepen. |
Gebruik deze claimtransformatie om te bepalen of een dateTime
claimtype eerder of groter is dan een specifieke datum. Controleer bijvoorbeeld of een gebruiker toestemming heeft gegeven voor de nieuwste versie van uw gebruiksvoorwaarden of servicevoorwaarden. Als u wilt controleren wanneer een gebruiker de laatste keer toestemming heeft gegeven, slaat u de laatste keer op dat de gebruiker de tou in een extensiekenmerk heeft geaccepteerd. Wanneer de inhoudstekst wordt gewijzigd, werkt u de termsOfUseTextUpdateDateTime
invoerparameter bij met het tijdstip van de wijziging. Roep vervolgens deze claimtransformatie aan om de datums te vergelijken. Als de claimtransformatie retourneert true
, is de termsOfUseConsentDateTime
waarde ouder dan de termsOfUseTextUpdateDateTime
waarde en kunt u de gebruiker vragen de bijgewerkte inhoudsaangifte te accepteren.
<ClaimsTransformation Id="IsTermsOfUseConsentRequired" TransformationMethod="IsTermsOfUseConsentRequired">
<InputClaims>
<InputClaim ClaimTypeReferenceId="extension_termsOfUseConsentDateTime" TransformationClaimType="termsOfUseConsentDateTime" />
</InputClaims>
<InputParameters>
<InputParameter Id="termsOfUseTextUpdateDateTime" DataType="dateTime" Value="2021-11-15T00:00:00" />
</InputParameters>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="termsOfUseConsentRequired" TransformationClaimType="result" />
</OutputClaims>
</ClaimsTransformation>
Voorbeeld isTermsOfUseConsentRequired
- Invoerclaims:
- voorwaardenVanGebruikToestemmingDatumTijd: 2020-03-09T09:15:00
- Invoerparameters:
- termsOfUseTextUpdateDateTime: 2021-11-15
- Uitvoerclaims:
- resultaat: true
HuidigeDatumTijdOphalen
Haal de huidige UTC-datum en -tijd op en voeg de waarde toe aan een claimtype. Bekijk de livedemo van deze claimtransformatie.
Onderdeel | TransformatieClaimType | Gegevenssoort | Opmerkingen |
---|---|---|---|
Uitvoer claimen | huidigeDatumTijd | datum en tijd | Het claimtype dat wordt geproduceerd nadat deze claimtransformatie is aangeroepen. |
Voorbeeld van GetCurrentDateTime
In het volgende voorbeeld ziet u hoe u de huidige gegevens en tijd opvragen:
<ClaimsTransformation Id="GetSystemDateTime" TransformationMethod="GetCurrentDateTime">
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="systemDateTime" TransformationClaimType="currentDateTime" />
</OutputClaims>
</ClaimsTransformation>
- Uitvoerclaims:
- currentDateTime: 2022-01-14T11:40:35.00000000Z
Volgende stappen
- Meer voorbeelden van claimtransformaties kunt u vinden in de GitHub-opslagplaats van de Azure AD B2C-community