Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Důležité
Od 1. května 2025 už nebude Azure AD B2C k dispozici k nákupu pro nové zákazníky. Další informace najdete v našich nejčastějších dotazech.
Tento článek obsahuje příklady použití transformací deklarací dat schématu Identity Experience Framework v Azure Active Directory B2C (Azure AD B2C). Další informace najdete v tématu Transformace deklarací identity.
AssertDateTimeIsGreaterThan
Tvrdí, že jedno datum je pozdější než druhé datum. Určuje, zda je větší rightOperand než leftOperand. Pokud ano, vyvolá výjimku. Podívejte se na živou ukázku této transformace deklarací identity.
| prvek | TransformaceClaimType | Datový typ | Poznámky |
|---|---|---|---|
| Vstupní deklarace | leftOperand | řetězec | Typ první deklarace identity, který by měl být pozdější než druhá deklarace identity. |
| Vstupní deklarace | rightOperand | řetězec | Typ druhé deklarace identity, který by měl být dřívější než první deklarace identity. |
| VstupníParametr | AssertIfEqualTo | Boolean | Určuje, zda má tento kontrolní výraz vyvolat chybu, pokud je levý operand roven pravému operandu. Možné hodnoty: true (výchozí) nebo false. |
| VstupníParametr | AssertIfRightOperandIsNotPresent | Boolean | Určuje, zda má být tento kontrolní výraz zadán, pokud chybí správný operand. |
| VstupníParametr | Považovat za rovné, pokud vMill sekund | int (integer) | Určuje počet milisekund, které mají být mezi dvěma časy kalendářních dat povoleny, aby bylo možné zvážit stejné časy (například pro účet nerovnoměrné distribuce hodin). |
Transformace deklarací identity AssertDateTimeIsGreaterThan se vždy provádí z technického profilu ověření , který je volán vlastním technickým profilem. Metadata technického profilu DateTimeGreaterThan řídí chybovou zprávu, že technický profil prezentuje uživateli. Chybové zprávy lze lokalizovat.
Příklad AssertDateTimeIsGreaterThan
Následující příklad porovnává currentDateTime deklaraci identity s deklarací approvedDateTime identity. Chyba je vyvolán, pokud currentDateTime je pozdější než approvedDateTime. Transformace považuje hodnoty za stejné, pokud jsou v rozmezí 5 minut (30000 milisekund). Pokud jsou hodnoty stejné, protože AssertIfEqualTo jsou nastaveny na falsehodnotu , nezobrazí se chyba.
<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>
Poznámka:
Pokud v předchozím příkladu odeberete AssertIfEqualTo vstupní parametr a currentDateTime rovnáapprovedDateTime se, vyvolá se chyba. Výchozí AssertIfEqualTo hodnota je true.
- Vstupní deklarace identity:
- leftOperand: 2022-01-01T15:00:00
- rightOperand: 2022-01-22T15:00:00
- Vstupní parametry:
- AssertIfEqualTo: false
- AssertIfRightOperandIsNotPresent: true
- TreatAsEqualIfWithinMillseconds: 300000 (30 sekund)
- Výsledek: Došlo k chybě
Volání transformace deklarací identity
Example-AssertDates Následující technický profil ověření volá AssertApprovedDateTimeLaterThanCurrentDateTime transformaci deklarací identity.
<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>
Technický profil s vlastním kontrolním výrazem volá technický profil ověření Example-AssertDates .
<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
DateTime Převede typ deklarace identity na Date typ deklarace identity. Transformace deklarací identity odebere z data formát času. Podívejte se na živou ukázku této transformace deklarací identity.
| prvek | TransformaceClaimType | Datový typ | Poznámky |
|---|---|---|---|
| Vstupní deklarace | Požadavek vstupu | datum a čas | Typ deklarace identity, který se má převést. |
| Výstupní deklarace | Deklarace výstupu | datum | Typ deklarace identity vytvořený po vyvolání této transformace deklarací identity. |
Příklad convertDateTimeToDateClaim
Následující příklad ukazuje převod deklarace identity systemDateTime (datového typu dateTime) na jinou deklaraci systemDate identity (datový typ data).
<ClaimsTransformation Id="ConvertToDate" TransformationMethod="ConvertDateTimeToDateClaim">
<InputClaims>
<InputClaim ClaimTypeReferenceId="systemDateTime" TransformationClaimType="inputClaim" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="systemDate" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
- Vstupní deklarace identity:
- inputClaim: 2022-01-03T11:34:22.0000000Z
- Výstupní deklarace identity:
- outputClaim: 2022-01-03
ConvertDateToDateTimeClaim
Date Převede typ deklarace identity na DateTime typ deklarace identity. Transformace deklarací identity převede formát času a k datu přidá 12:00:00. Podívejte se na živou ukázku této transformace deklarací identity.
| prvek | TransformaceClaimType | Datový typ | Poznámky |
|---|---|---|---|
| Vstupní deklarace | Požadavek vstupu | datum | Typ deklarace identity, který se má převést. |
| Výstupní deklarace | Deklarace výstupu | datum a čas | Typ deklarace identity vytvořený po vyvolání této transformace deklarací identity. |
Příklad ConvertDateToDateTimeClaim
Následující příklad ukazuje převod deklarace identity dateOfBirth (datového typu data) na jinou deklaraci dateOfBirthWithTime identity (datový typ dateTime).
<ClaimsTransformation Id="ConvertToDateTime" TransformationMethod="ConvertDateToDateTimeClaim">
<InputClaims>
<InputClaim ClaimTypeReferenceId="dateOfBirth" TransformationClaimType="inputClaim" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="dateOfBirthWithTime" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
- Vstupní deklarace identity:
- inputClaim: 2022-01-03
- Výstupní deklarace identity:
- outputClaim: 2022-01-03T00:00:00.0000000Z
Porovnání data a času
Porovná dvě data a určí, zda je první datum pozdější, dřívější nebo rovno jinému. Výsledkem je nová logická deklarace identity s hodnotou true nebo false. Podívejte se na živou ukázku této transformace deklarací identity.
| prvek | TransformaceClaimType | Datový typ | Poznámky |
|---|---|---|---|
| Vstupní deklarace | firstDateTime | datum a čas | První datum, které porovná, jestli je pozdější, dřívější nebo rovno druhému datu. Hodnota Null vyvolá výjimku. |
| Vstupní deklarace | secondDateTime | datum a čas | Druhé datum, které se má porovnat. Hodnota Null se považuje za aktuální datum a čas. |
| VstupníParametr | timeSpanInSeconds | int (integer) | Časový interval pro přidání k prvnímu datu. Možné hodnoty: rozsah od záporných -2 147 483 648 až 2 147 483 647. |
| VstupníParametr | operátor | řetězec | Jedna z následujících hodnot: same, later thannebo earlier than. |
| Výstupní deklarace | výsledek | Boolean | Deklarace identity, která se vytvoří po vyvolání této transformace deklarací. |
Příklad dateTimeComparison
Tuto transformaci deklarací identity použijte k určení, zda je první datum plus timeSpanInSeconds parametr pozdější, dřívější nebo rovno jiné. Následující příklad ukazuje, že první datum (2022-01-01T00:00:00) plus 90 dní je pozdější než druhé 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>
- Vstupní deklarace identity:
- firstDateTime: 2022-01-01T00:00:00.100000Z
- secondDateTime: 2022-03-16T00:00:00.100000Z
- Vstupní parametry:
- operátor: pozdější než
- timeSpanInSeconds: 7776000 (90 dní)
- Výstupní deklarace identity:
- výsledek: true
IsTermsOfUseConsentRequired
Určete, jestli dateTime je typ deklarace identity starší nebo větší než konkrétní datum. Výsledkem je nová logická deklarace identity s hodnotou true nebo false. Podívejte se na živou ukázku této transformace deklarací identity.
| Položka | TransformaceClaimType | Datový typ | Poznámky |
|---|---|---|---|
| Vstupní deklarace | termsOfUseConsentDateTime | datum a čas | Typ dateTime deklarace identity, který zkontroluje, jestli je starší nebo novější než termsOfUseTextUpdateDateTime vstupní parametr. Nedefinovaná hodnota vrátí true výsledek. |
| VstupníParametr | termsOfUseTextUpdateDateTime | datum a čas | Typ dateTime deklarace identity, který zkontroluje, jestli je starší nebo novější než termsOfUseConsentDateTime vstupní deklarace identity. Časová část data je volitelná. |
| Výstupní deklarace | výsledek | Boolean | Typ deklarace identity vytvořený po vyvolání této transformace deklarací identity. |
Pomocí této transformace deklarací můžete určit, jestli dateTime je typ deklarace identity starší nebo větší než konkrétní datum. Zkontrolujte například, jestli uživatel souhlasil s nejnovější verzí vašich podmínek použití (TOU) nebo s podmínkami služby. Pokud chcete zkontrolovat čas posledního souhlasu uživatele, uložte čas posledního přijetí uživatele v atributu rozšíření. Když se změní formulace tou, aktualizujte termsOfUseTextUpdateDateTime vstupní parametr časem změny. Potom zavolejte tuto transformaci deklarací identity a porovnejte data. Pokud se transformace deklarací identity vrátí true, termsOfUseConsentDateTime hodnota je dřívější než termsOfUseTextUpdateDateTime hodnota, a můžete požádat uživatele, aby přijal aktualizovanou hodnotu TOU.
<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>
Příklad IsTermsOfUseConsentRequired
- Vstupní deklarace identity:
- termsOfUseConsentDateTime: 2020-03-09T09:15:00
- Vstupní parametry:
- termsOfUseTextUpdateDateTime: 2021-11-15
- Výstupní deklarace identity:
- výsledek: true
Získat aktuální datum a čas
Získejte aktuální datum a čas UTC a přidejte hodnotu do typu deklarace identity. Podívejte se na živou ukázku této transformace deklarací identity.
| prvek | TransformaceClaimType | Datový typ | Poznámky |
|---|---|---|---|
| Výstupní deklarace | currentDateTime | datum a čas | Typ deklarace identity vytvořený po vyvolání této transformace deklarací identity. |
Příklad GetCurrentDateTime
Následující příklad ukazuje, jak získat aktuální data a čas:
<ClaimsTransformation Id="GetSystemDateTime" TransformationMethod="GetCurrentDateTime">
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="systemDateTime" TransformationClaimType="currentDateTime" />
</OutputClaims>
</ClaimsTransformation>
- Výstupní deklarace identity:
- currentDateTime: 2022-01-14T11:40:35.0000000Z
Další kroky
- Další ukázky transformace deklarací identity najdete v úložišti GitHub komunity Azure AD B2C.