Jogcímátalakítások dátuma
Ez a cikk példákat tartalmaz az Identity Experience Framework-séma dátumjogcím-átalakításainak használatára az Azure Active Directory B2C-ben (Azure AD B2C). További információ: Jogcímátalakítások.
AssertDateTimeIsGreaterThan
Azt állítja, hogy egy dátum későbbi, mint egy második dátum. Meghatározza, hogy a rightOperand
nagyobb-e, mint a leftOperand
. Ha igen, kivételt jelez. Tekintse meg a jogcímátalakítás élő bemutatóját .
Elem | TransformationClaimType | Adattípus | Jegyzetek |
---|---|---|---|
InputClaim | leftOperand | sztring | Az első jogcím típusa, amelynek későbbinek kell lennie, mint a második jogcímnek. |
InputClaim | rightOperand | sztring | A második jogcím típusa, amelynek az első jogcímnél korábbinak kell lennie. |
InputParameter | AssertIfEqualTo | boolean | Meghatározza, hogy a helyességi feltétel hibát jelez-e, ha a bal operandus egyenlő a jobb operandussal. Lehetséges értékek: true (alapértelmezett) vagy false . |
InputParameter | AssertIfRightOperandIsNotPresent | boolean | Meghatározza, hogy a helyességi feltételnek meg kell-e felelnie, ha a megfelelő operandus hiányzik. |
InputParameter | TreatAsEqualIfWithinMillseconds | int | Megadja az ezredmásodpercek számát, amelyek lehetővé teszik, hogy a két dátum közötti idő egyenlő legyen (például az óraeltérés figyelembevétele érdekében). |
Az AssertDateTimeIsGreaterThan jogcímátalakítás mindig egy önérvényesített műszaki profil által meghívott érvényesítési műszaki profilból történik. A DateTimeGreaterThan önaláért technikai profil metaadatai vezérli a technikai profil által a felhasználónak megjelenített hibaüzenetet. A hibaüzenetek honosíthatók.
Example of AssertDateTimeIsGreaterThan
Az alábbi példa összehasonlítja a currentDateTime
jogcímet a approvedDateTime
jogcímmel. A hibaüzenet akkor jelenik meg, ha currentDateTime
későbbi, mint approvedDateTime
. Az átalakítás egyenlőként kezeli az értékeket, ha 5 percen (30000 ezredmásodpercen) belül vannak. Nem ad vissza hibát, ha az értékek egyenlők, mert AssertIfEqualTo
a értéke 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>
Megjegyzés
A fenti példában, ha eltávolítja a AssertIfEqualTo
bemeneti paramétert, és a currentDateTime
értéke egyenlőapprovedDateTime
, hibaüzenet jelenik meg. Az AssertIfEqualTo
alapértelmezett érték a következő: true
.
- Bemeneti jogcímek:
- leftOperand: 2022-01-01T15:00:00
- rightOperand: 2022-01-22T15:00:00
- Bemeneti paraméterek:
- AssertIfEqualTo: false
- AssertIfRightOperandIsNotPresent: true
- TreatAsEqualIfWithinMillseconds: 300000 (30 másodperc)
- Eredmény: Hiba történt
Jogcímátalakítás meghívása
Az alábbi Example-AssertDates
érvényesítési technikai profil meghívja a jogcímátalakítást AssertApprovedDateTimeLaterThanCurrentDateTime
.
<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>
Az önérvényesített műszaki profil az érvényesítési Example-AssertDates
műszaki profilt hívja meg.
<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
Jogcímtípust DateTime
jogcímtípussá Date
alakít át. A jogcímátalakítás eltávolítja az időformátumot a dátumból. Tekintse meg a jogcímátalakítás élő bemutatóját .
Elem | TransformationClaimType | Adattípus | Jegyzetek |
---|---|---|---|
InputClaim | inputClaim | Datetime | Az átalakítandó jogcímtípus. |
OutputClaim | outputClaim | dátum | A jogcímátalakítás meghívása után létrehozott jogcímtípus. |
Példa: ConvertDateTimeToDateClaim
Az alábbi példa a jogcím systemDateTime
(dateTime adattípus) másik jogcímre systemDate
(dátum adattípusra) való átalakítását mutatja be.
<ClaimsTransformation Id="ConvertToDate" TransformationMethod="ConvertDateTimeToDateClaim">
<InputClaims>
<InputClaim ClaimTypeReferenceId="systemDateTime" TransformationClaimType="inputClaim" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="systemDate" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
- Bemeneti jogcímek:
- inputClaim: 2022-01-03T11:34:22.00000000Z
- Kimeneti jogcímek:
- outputClaim: 2022-01-03
ConvertDateToDateTimeClaim
Jogcímtípust Date
jogcímtípussá DateTime
alakít át. A jogcímátalakítás átalakítja az időformátumot, és hozzáadja a 12:00:00 időpontot a dátumhoz. Tekintse meg a jogcímátalakítás élő bemutatóját .
Elem | TransformationClaimType | Adattípus | Jegyzetek |
---|---|---|---|
InputClaim | inputClaim | dátum | Az átalakítandó jogcímtípus. |
OutputClaim | outputClaim | Datetime | A jogcímátalakítás meghívása után létrehozott jogcímtípus. |
Példa a ConvertDateToDateTimeClaim függvényre
Az alábbi példa a jogcím dateOfBirth
(dátum adattípus) másik jogcímre dateOfBirthWithTime
(dateTime adattípus) való átalakítását mutatja be.
<ClaimsTransformation Id="ConvertToDateTime" TransformationMethod="ConvertDateToDateTimeClaim">
<InputClaims>
<InputClaim ClaimTypeReferenceId="dateOfBirth" TransformationClaimType="inputClaim" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="dateOfBirthWithTime" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
- Bemeneti jogcímek:
- inputClaim: 2022-01-03
- Kimeneti jogcímek:
- outputClaim: 2022-01-03T00:00:00.0000000Z
DateTimeComparison
Összehasonlít két dátumot, és meghatározza, hogy az első dátum későbbi, korábbi vagy egyenlő-e egy másik dátummal. Az eredmény egy új logikai jogcím, amelynek értéke true
vagy false
. Tekintse meg a jogcímátalakítás élő bemutatóját .
Elem | TransformationClaimType | Adattípus | Jegyzetek |
---|---|---|---|
InputClaim | firstDateTime | Datetime | Az első összehasonlítási dátum, amely azt jelzi, hogy az későbbi, korábbi vagy egyenlő-e a második dátummal. A null érték kivételt jelez. |
InputClaim | secondDateTime | Datetime | A második összehasonlítandó dátum. A null érték az aktuális dátumként és időpontként van kezelve. |
InputParameter | timeSpanInSeconds | int | Az első dátumhoz hozzáadandó időtartomány. Lehetséges értékek: negatív -2 147 483 648 és pozitív 2 147 483 647 közötti tartomány. |
InputParameter | operátor | sztring | Az alábbi értékek egyike: same , later than , vagy earlier than . |
OutputClaim | result | boolean | A jogcímátalakítás meghívása után létrehozott jogcím. |
Példa a DateTimeComparisonra
Ezzel a jogcímátalakítást használva megállapíthatja, hogy az első dátum és a timeSpanInSeconds
paraméter későbbi, korábbi vagy egy másik értékkel egyenlő-e. Az alábbi példa azt mutatja, hogy az első dátum (2022-01-01T00:00:00) plusz 90 nap későbbi, mint a második dátum (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>
- Bemeneti jogcímek:
- firstDateTime: 2022-01-01T00:00:00.100000Z
- secondDateTime: 2022-03-16T00:00:00.100000Z
- Bemeneti paraméterek:
- operátor: későbbi, mint
- timeSpanInSeconds: 7776000 (90 nap)
- Kimeneti jogcímek:
- eredmény: igaz
IsTermsOfUseConsentRequired
Annak meghatározása, hogy egy dateTime
jogcímtípus egy adott dátumnál korábbi vagy nagyobb-e. Az eredmény egy új logikai jogcím, amelynek értéke true
vagy false
. Tekintse meg a jogcímátalakítás élő bemutatóját .
Elem | TransformationClaimType | Adattípus | Jegyzetek |
---|---|---|---|
InputClaim | termsOfUseConsentDateTime | Datetime | A dateTime jogcím típusa annak ellenőrzéséhez, hogy korábbi vagy későbbi-e, mint a termsOfUseTextUpdateDateTime bemeneti paraméter. A nem definiált érték az eredményt adja true vissza. |
InputParameter | termsOfUseTextUpdateDateTime | Datetime | A dateTime jogcím típusa annak ellenőrzéséhez, hogy korábbi vagy későbbi-e, mint a termsOfUseConsentDateTime bemeneti jogcím. A dátum idő része nem kötelező. |
OutputClaim | result | boolean | A jogcímátalakítás meghívása után létrehozott jogcímtípus. |
Ezzel a jogcímátalakítással megállapíthatja, hogy egy dateTime
jogcímtípus korábbi vagy nagyobb egy adott dátumnál. Ellenőrizze például, hogy egy felhasználó hozzájárult-e a használati feltételek (TOU) vagy a szolgáltatási feltételek legújabb verziójához. A felhasználó utolsó hozzájárulásának ellenőrzéséhez tárolja az utolsó alkalommal, amikor a felhasználó elfogadta a tou-t egy bővítményattribútumban. Amikor megváltozik a TOU-szöveg, frissítse a termsOfUseTextUpdateDateTime
bemeneti paramétert a módosítás időpontjával. Ezután hívja meg ezt a jogcímátalakítást a dátumok összehasonlításához. Ha a jogcímátalakítás true
eredménye , az termsOfUseConsentDateTime
érték korábbi, mint az termsOfUseTextUpdateDateTime
érték, és megkérheti a felhasználót, hogy fogadja el a frissített tou-t.
<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 példa
- Bemeneti jogcímek:
- termsOfUseConsentDateTime: 2020-03-09T09:15:00
- Bemeneti paraméterek:
- termsOfUseTextUpdateDateTime: 2021-11-15
- Kimeneti jogcímek:
- eredmény: igaz
GetCurrentDateTime
Kérje le az aktuális UTC dátumot és időpontot, és adja hozzá az értéket egy jogcímtípushoz. Tekintse meg a jogcímátalakítás élő bemutatóját .
Elem | TransformationClaimType | Adattípus | Jegyzetek |
---|---|---|---|
OutputClaim | currentDateTime | Datetime | A jogcímátalakítás meghívása után létrehozott jogcímtípus. |
Példa a GetCurrentDateTime-ra
Az alábbi példa bemutatja, hogyan szerezheti be az aktuális adatokat és időt:
<ClaimsTransformation Id="GetSystemDateTime" TransformationMethod="GetCurrentDateTime">
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="systemDateTime" TransformationClaimType="currentDateTime" />
</OutputClaims>
</ClaimsTransformation>
- Kimeneti jogcímek:
- currentDateTime: 2022-01-14T11:40:35.0000000Z
Következő lépések
- További jogcímátalakítási minták keresése a Azure AD B2C-közösség GitHub-adattárában
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: