Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Von Bedeutung
Ab dem 1. Mai 2025 steht Azure AD B2C nicht mehr für neue Kunden zur Verfügung. Weitere Informationen finden Sie in unseren HÄUFIG gestellten Fragen.
Dieser Artikel enthält Beispiele für die Verwendung der Datumsansprüchetransformationen des Identity Experience Framework-Schemas in Azure Active Directory B2C (Azure AD B2C). Weitere Informationen finden Sie unter Transformationen von Ansprüchen.
AssertDateTimeIsGreaterThan
Bestätigt, dass ein Datum später als ein zweites Datum ist. Bestimmt, ob die rightOperand größer als die leftOperand. Wenn ja, wird eine Ausnahme ausgelöst. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.
| Element | TransformationClaimType | Datentyp | Hinweise |
|---|---|---|---|
| Eingabe-Behauptung | leftOperand | Schnur | Der Typ des ersten Anspruchs, der später als der zweite Anspruch sein sollte. |
| Eingabe-Behauptung | rightOperand | Schnur | Der Typ des zweiten Anspruchs, der vor dem ersten Anspruch liegt. |
| Eingabeparameter | AssertIfEqualTo | Boolescher Wert | Gibt an, ob diese Assertion einen Fehler auslösen soll, wenn der linke Operand dem rechten Operanden entspricht. Mögliche Werte: true (Standard) oder false. |
| Eingabeparameter | AssertIfRightOperandIsNotPresent | Boolescher Wert | Gibt an, ob diese Assertion übergeben werden soll, wenn der richtige Operand fehlt. |
| Eingabeparameter | TreatAsEqualIfWithinMillseconds | INT | Gibt die Anzahl von Millisekunden an, die zwischen den beiden Datumsangaben zulässig sind, um die Zeit gleich zu berücksichtigen (z. B. um die Uhrneigung zu berücksichtigen). |
Die AssertionDateTimeIsGreaterThan-Anspruchstransformation wird immer aus einem technischen Validierungsprofil ausgeführt, das von einem selbst bestätigten technischen Profil aufgerufen wird. Die DateTimeGreaterThan selbstbesetzten technischen Profilmetadaten steuern die Fehlermeldung, dass das technische Profil dem Benutzer präsentiert. Die Fehlermeldungen können lokalisiert werden.
Beispiel für AssertDateTimeIsGreaterThan
Im folgenden Beispiel wird der currentDateTime Anspruch mit dem approvedDateTime Anspruch verglichen. Ein Fehler wird ausgelöst, wenn currentDateTime er später als approvedDateTimeist. Die Transformation behandelt Werte gleich, wenn sie sich innerhalb von 5 Minuten (30000 Millisekunden) unterscheiden. Es wird kein Fehler ausgelöst, wenn die Werte gleich sind, da AssertIfEqualTo sie auf 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>
Hinweis
Wenn Sie im obigen Beispiel den AssertIfEqualTo Eingabeparameter entfernen und currentDateTime gleichapprovedDateTime sind, wird ein Fehler ausgelöst. Der AssertIfEqualTo Standardwert ist true.
- Eingabeansprüche:
- leftOperand: 2022-01-01T15:00:00
- rightOperand: 2022-01-22T15:00:00
- Eingabeparameter:
- AssertIfEqualTo: falsch
- AssertIfRightOperandIsNotPresent: wahr
- TreatAsEqualIfWithinMillseconds: 300000 (30 Sekunden)
- Ergebnis: Fehler wird ausgelöst.
Aufrufen der Forderungstransformation
Das folgende Example-AssertDates technische Überprüfungsprofil ruft die AssertApprovedDateTimeLaterThanCurrentDateTime Anspruchstransformation auf.
<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>
Das selbstbesetzte technische Profil ruft das validierungstechnische Example-AssertDates Profil auf.
<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
Konvertiert einen DateTime Anspruchstyp in einen Date Anspruchstyp. Die Anspruchstransformation entfernt das Zeitformat aus dem Datum. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.
| Element | TransformationClaimType | Datentyp | Hinweise |
|---|---|---|---|
| Eingabe-Behauptung | inputClaim | Datum und Uhrzeit | Der zu konvertierende Anspruchstyp. |
| OutputClaim (Ausgabeanspruch) | outputClaim (Ausschreibung) | Datum | Dies ist der Anspruchstyp, der erstellt wird, nachdem diese Anspruchstransformation aufgerufen wurde. |
Beispiel für ConvertDateTimeToDateClaim
Im folgenden Beispiel wird die Konvertierung des Anspruchs systemDateTime (dateTime-Datentyp) in einen anderen Anspruch systemDate (Datumsdatentyp) veranschaulicht.
<ClaimsTransformation Id="ConvertToDate" TransformationMethod="ConvertDateTimeToDateClaim">
<InputClaims>
<InputClaim ClaimTypeReferenceId="systemDateTime" TransformationClaimType="inputClaim" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="systemDate" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
- Eingabeansprüche:
- inputClaim: 2022-01-03T11:34:22.0000000Z
- Ausgabeansprüche:
- outputBehauptung: 03.01.2022
ConvertDateToDateTimeClaim
Konvertiert einen Date Anspruchstyp in einen DateTime Anspruchstyp. Die Anspruchstransformation konvertiert das Zeitformat und fügt dem Datum 12:00:00 Uhr hinzu. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.
| Element | TransformationClaimType | Datentyp | Hinweise |
|---|---|---|---|
| Eingabe-Behauptung | inputClaim | Datum | Der zu konvertierende Anspruchstyp. |
| OutputClaim (Ausgabeanspruch) | outputClaim (Ausschreibung) | Datum und Uhrzeit | Dies ist der Anspruchstyp, der erstellt wird, nachdem diese Anspruchstransformation aufgerufen wurde. |
Beispiel für ConvertDateToDateTimeClaim
Im folgenden Beispiel wird die Konvertierung des Anspruchs dateOfBirth (Datumsdatentyp) in einen anderen Anspruch dateOfBirthWithTime (dateTime-Datentyp) veranschaulicht.
<ClaimsTransformation Id="ConvertToDateTime" TransformationMethod="ConvertDateToDateTimeClaim">
<InputClaims>
<InputClaim ClaimTypeReferenceId="dateOfBirth" TransformationClaimType="inputClaim" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="dateOfBirthWithTime" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
- Eingabeansprüche:
- inputClaim: 03.01.2022
- Ausgabeansprüche:
- outputClaim: 2022-01-03T00:00:00.000000Z
Datum/UhrzeitVergleich
Vergleicht zwei Datumsangaben und bestimmt, ob das erste Datum später, früher oder gleich einem anderen ist. Das Ergebnis ist ein neuer boolescher Anspruch mit dem Wert true oder false. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.
| Element | TransformationClaimType | Datentyp | Hinweise |
|---|---|---|---|
| Eingabe-Behauptung | ersteDatumUhrzeit | Datum und Uhrzeit | Das erste Datum, das verglichen werden soll, ob es sich später, früher oder gleich dem zweiten Datum befindet. Ein Null-Wert löst eine Ausnahme aus. |
| Eingabe-Behauptung | secondDateTime | Datum und Uhrzeit | Das zweite zu vergleichende Datum. Nullwert wird als das aktuelle Datum und die aktuelle Uhrzeit behandelt. |
| Eingabeparameter | timeSpanInSeconds | INT | Zeitbereich, der dem ersten Datum hinzugefügt werden soll. Mögliche Werte: reichen von negativen -2.147.483.648 bis positiven 2.147.483.647. |
| Eingabeparameter | Operator | Schnur | Einer der folgenden Werte: same, , later thanoder earlier than. |
| OutputClaim (Ausgabeanspruch) | Ergebnis | Boolescher Wert | Der Anspruch, der erstellt wird, nachdem diese Anspruchstransformation aufgerufen wurde. |
Beispiel für DateTimeComparison
Verwenden Sie diese Anspruchstransformation, um festzustellen, ob das erste Datum plus des timeSpanInSeconds Parameters später, früher oder gleich einem anderen ist. Das folgende Beispiel zeigt, dass das erste Datum (2022-01-01T00:00:00) plus 90 Tage später als das zweite Datum ist (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>
- Eingabeansprüche:
- firstDateTime: 2022-01-01T00:00:00.100000Z
- secondDateTime: 2022-03-16T00:00:00.100000Z
- Eingabeparameter:
- Operator: später als
- timeSpanInSeconds: 7776000 (90 Tage)
- Ausgabeansprüche:
- Ergebnis: true
IsTermsOfUseConsentRequired
Bestimmen Sie, ob ein dateTime Anspruchstyp früher oder größer als ein bestimmtes Datum ist. Das Ergebnis ist ein neuer boolescher Anspruch mit dem Wert true oder false. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.
| Gegenstand | TransformationClaimType | Datentyp | Hinweise |
|---|---|---|---|
| Eingabe-Behauptung | termsOfUseConsentDateTime | Datum und Uhrzeit | Der dateTime Anspruchstyp, der überprüft, ob er früher oder höher als der termsOfUseTextUpdateDateTime Eingabeparameter ist. Der nicht definierte Wert gibt das Ergebnis zurück true . |
| Eingabeparameter | termsOfUseTextUpdateDateTime | Datum und Uhrzeit | Der dateTime Anspruchstyp, der überprüft, ob er früher oder höher als der termsOfUseConsentDateTime Eingabeanspruch ist. Der Zeitteil des Datums ist optional. |
| OutputClaim (Ausgabeanspruch) | Ergebnis | Boolescher Wert | Der Anspruchstyp, der nach dem Aufrufen dieser Anspruchstransformation erstellt wird. |
Verwenden Sie diese Anspruchstransformation, um zu bestimmen, ob ein dateTime Anspruchstyp früher oder größer als ein bestimmtes Datum ist. Überprüfen Sie beispielsweise, ob ein Benutzer der neuesten Version Ihrer Nutzungsbedingungen (TOU) oder Nutzungsbedingungen zugestimmt hat. Um zu überprüfen, ob ein Benutzer das letzte Mal zugestimmt hat, speichern Sie das letzte Mal, wenn der Benutzer das ToU in einem Erweiterungsattribut akzeptiert hat. Wenn sich der Text in ToU ändert, aktualisieren Sie den termsOfUseTextUpdateDateTime Eingabeparameter mit dem Zeitpunkt der Änderung. Rufen Sie dann diese Anspruchstransformation auf, um die Datumsangaben zu vergleichen. Wenn die Forderungstransformation zurückgegeben wird true, liegt der termsOfUseConsentDateTime Wert vor dem termsOfUseTextUpdateDateTime Wert, und Sie können den Benutzer bitten, die aktualisierte AU zu akzeptieren.
<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>
IsTermsOfUseConsentRequired-Beispiel
- Eingabeansprüche:
- termsOfUseConsentDateTime: 2020-03-09T09:15:00
- Eingabeparameter:
- termsOfUseTextUpdateDateTime: 2021-11-15
- Ausgabeansprüche:
- Ergebnis: true
GetCurrentDateTime
Rufen Sie das aktuelle UTC-Datum und die aktuelle UHRZEIT ab, und fügen Sie den Wert einem Anspruchstyp hinzu. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.
| Element | TransformationClaimType | Datentyp | Hinweise |
|---|---|---|---|
| OutputClaim (Ausgabeanspruch) | aktuelleDatumUhrzeit | Datum und Uhrzeit | Dies ist der Anspruchstyp, der erstellt wird, nachdem diese Anspruchstransformation aufgerufen wurde. |
Beispiel für GetCurrentDateTime
Das folgende Beispiel zeigt, wie die aktuellen Daten und die aktuelle Uhrzeit abgerufen werden:
<ClaimsTransformation Id="GetSystemDateTime" TransformationMethod="GetCurrentDateTime">
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="systemDateTime" TransformationClaimType="currentDateTime" />
</OutputClaims>
</ClaimsTransformation>
- Ausgabeansprüche:
- currentDateTime: 2022-01-14T11:40:35.0000000Z
Nächste Schritte
- Weitere Beispiele für die Anspruchstransformation finden Sie im GitHub-Repository der Azure-AD-B2C-Community