Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważne
Od 1 maja 2025 r. usługa Azure AD B2C nie będzie już dostępna do zakupu dla nowych klientów. Dowiedz się więcej w naszych często zadawanych pytaniach.
Ten artykuł zawiera przykłady użycia przekształceń oświadczeń daty schematu struktury środowiska tożsamości w usłudze Azure Active Directory B2C (Azure AD B2C). Aby uzyskać więcej informacji, zobacz przekształcenia oświadczeń.
AssertDateTimeIsGreaterThan
Potwierdza, że jedna data jest późniejsza niż druga data. Określa, czy wartość rightOperand jest większa niż leftOperand. Jeśli tak, zgłasza wyjątek. Zapoznaj się z pokazem live tej transformacji oświadczeń.
| Składnik | TransformationClaimType | Typ danych | Notatki |
|---|---|---|---|
| Oświadczenie wejściowe | leftOperand (lewy operand) | sznurek | Typ pierwszego oświadczenia, który powinien być późniejszy niż drugie oświadczenie. |
| Oświadczenie wejściowe | prawy operand | sznurek | Typ drugiego oświadczenia, który powinien być wcześniejszy niż pierwsze oświadczenie. |
| Parametr wejściowy | AssertIfEqualTo | typ logiczny (boolowski) | Określa, czy to potwierdzenie powinno zgłosić błąd, jeśli lewy operand jest równy prawy operand. Możliwe wartości: true (wartość domyślna) lub false. |
| Parametr wejściowy | AssertIfRightOperandIsNotPresent | typ logiczny (boolowski) | Określa, czy to potwierdzenie powinno zostać przekazane, jeśli brakuje prawego operandu. |
| Parametr wejściowy | TreatAsEqualIfWithinMillseconds | int (integer) | Określa liczbę milisekund, które mają być dozwolone między dwiema godzinami daty, aby wziąć pod uwagę czas równy (na przykład uwzględnić niesymetryczność zegara). |
Przekształcenie oświadczeń AssertDateTimeIsGreaterThan jest zawsze wykonywane z profilu technicznego weryfikacji , który jest wywoływany przez własny profil techniczny. Metadane profilu technicznego typu DateTimeGreaterThan samodzielnie kontrolują komunikat o błędzie wyświetlany użytkownikowi przez profil techniczny. Komunikaty o błędach mogą być zlokalizowane.
Przykład assertDateTimeIsGreaterThan
Poniższy przykład porównuje currentDateTime oświadczenie z oświadczeniem approvedDateTime . Błąd jest zgłaszany, jeśli currentDateTime wartość jest późniejsza niż approvedDateTime. Przekształcenie traktuje wartości jako równe, jeśli znajdują się w ciągu 5 minut (30000 milisekund) różnicy. Nie zgłosi błędu, jeśli wartości są równe, ponieważ AssertIfEqualTo jest ustawiona na falsewartość .
<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>
Uwaga / Notatka
W powyższym przykładzie, jeśli usuniesz AssertIfEqualTo parametr wejściowy, a currentDateTime parametr jest równyapprovedDateTime, zostanie zgłoszony błąd. Wartość domyślna AssertIfEqualTo to true.
- Oświadczenia wejściowe:
- leftOperand: 2022-01-01T15:00:00
- prawy Operand: 2022-01-22T15:00:00
- Parametry wejściowe:
- AssertIfEqualTo: fałsz
- AssertIfRightOperandIsNotPresent: true
- TreatAsEqualIfWithinMillseconds: 300000 (30 sekund)
- Wynik: zgłoszony błąd
Wywoływanie przekształcenia oświadczeń
Poniższy Example-AssertDates profil techniczny weryfikacji wywołuje AssertApprovedDateTimeLaterThanCurrentDateTime przekształcenie oświadczeń.
<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>
Profil techniczny z samodzielnym potwierdzeniem wywołuje profil techniczny weryfikacji 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
Konwertuje DateTime typ oświadczenia na Date typ oświadczenia. Przekształcenie oświadczeń usuwa format godziny z daty. Zapoznaj się z pokazem live tej transformacji oświadczeń.
| Składnik | TransformationClaimType | Typ danych | Notatki |
|---|---|---|---|
| Oświadczenie wejściowe | inputClaim (Twierdzenie wejściowe) | Data i godzina | Typ oświadczenia, który ma zostać przekonwertowany. |
| OutputClaim (Roszczenie wyjściowe) | outputClaim (roszczenie wyjściowe) | termin | Typ oświadczenia, który jest generowany po wywołaniu tego przekształcenia oświadczeń. |
Przykład funkcji ConvertDateTimeToDateClaim
W poniższym przykładzie pokazano konwersję oświadczenia systemDateTime (typ danych dateTime) na inne oświadczenie systemDate (typ danych daty).
<ClaimsTransformation Id="ConvertToDate" TransformationMethod="ConvertDateTimeToDateClaim">
<InputClaims>
<InputClaim ClaimTypeReferenceId="systemDateTime" TransformationClaimType="inputClaim" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="systemDate" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
- Oświadczenia wejściowe:
- inputClaim: 2022-01-03T11:34:22.000000Z
- Oświadczenia wyjściowe:
- wyjścieRoszczenie: 2022-01-03
ConvertDateToDateTimeClaim
Konwertuje Date typ oświadczenia na DateTime typ oświadczenia. Przekształcenie oświadczeń konwertuje format czasu i dodaje 12:00:00 do daty. Zapoznaj się z pokazem live tej transformacji oświadczeń.
| Składnik | TransformationClaimType | Typ danych | Notatki |
|---|---|---|---|
| Oświadczenie wejściowe | inputClaim (Twierdzenie wejściowe) | termin | Typ oświadczenia, który ma zostać przekonwertowany. |
| OutputClaim (Roszczenie wyjściowe) | outputClaim (roszczenie wyjściowe) | Data i godzina | Typ oświadczenia, który jest generowany po wywołaniu tego przekształcenia oświadczeń. |
Przykład funkcji ConvertDateToDateTimeClaim
W poniższym przykładzie pokazano konwersję oświadczenia dateOfBirth (typu danych daty) na inne oświadczenie dateOfBirthWithTime (typ danych dateTime).
<ClaimsTransformation Id="ConvertToDateTime" TransformationMethod="ConvertDateToDateTimeClaim">
<InputClaims>
<InputClaim ClaimTypeReferenceId="dateOfBirth" TransformationClaimType="inputClaim" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="dateOfBirthWithTime" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
- Oświadczenia wejściowe:
- inputRoszczenie: 2022-01-03
- Oświadczenia wyjściowe:
- outputClaim: 2022-01-03T00:00:00.000000Z
Porównanie daty i godziny
Porównuje dwie daty i określa, czy pierwsza data jest późniejsza, wcześniejsza, czy równa innej. Wynikiem jest nowe oświadczenie logiczne z wartością true lub false. Zapoznaj się z pokazem live tej transformacji oświadczeń.
| Składnik | TransformationClaimType | Typ danych | Notatki |
|---|---|---|---|
| Oświadczenie wejściowe | firstDateTime (data i godzina) | Data i godzina | Pierwsza data do porównania, czy jest późniejsza, wcześniej, czy równa drugiej dacie. Wartość null zgłasza wyjątek. |
| Oświadczenie wejściowe | secondDateTime (druga data) | Data i godzina | Druga data do porównania. Wartość null jest traktowana jako bieżąca data i godzina. |
| Parametr wejściowy | timeSpanInSeconds (Długość czasu) | int (integer) | Przedział czasu dodawania do pierwszej daty. Możliwe wartości: zakres od ujemnych -2147,483,648 do dodatnich 2,147,483,647. |
| Parametr wejściowy | operator | sznurek | Jedna z następujących wartości: same, lub later thanearlier than. |
| OutputClaim (Roszczenie wyjściowe) | wynik | typ logiczny (boolowski) | Oświadczenie, które zostało wygenerowane po wywołaniu tego przekształcenia oświadczeń. |
Przykład elementu DateTimeComparison
Użyj tej transformacji oświadczeń, aby określić, czy pierwsza data plus timeSpanInSeconds parametr jest późniejsza, wcześniej lub równa innej. W poniższym przykładzie pokazano, że pierwsza data (2022-01-01T00:00:00) plus 90 dni jest późniejsza niż druga data (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>
- Oświadczenia wejściowe:
- firstDateTime: 2022-01-01T00:00:00.100000Z
- secondDateTime: 2022-03-16T00:00:00.100000Z
- Parametry wejściowe:
- operator: później niż
- timeSpanInSeconds: 7776000 (90 dni)
- Oświadczenia wyjściowe:
- wynik: true
Czy wymagane są warunki korzystania z usługi Zgoda
Ustal, czy dateTime typ oświadczenia jest wcześniejszy, czy większy niż określona data. Wynikiem jest nowe oświadczenie logiczne z wartością true lub false. Zapoznaj się z pokazem live tej transformacji oświadczeń.
| Przedmiot | TransformationClaimType | Typ danych | Notatki |
|---|---|---|---|
| Oświadczenie wejściowe | termsOfUseConsentDateTime | Data i godzina | Typ dateTime oświadczenia, aby sprawdzić, czy jest on wcześniejszy, czy nowszy niż termsOfUseTextUpdateDateTime parametr wejściowy. Niezdefiniowana wartość zwraca true wynik. |
| Parametr wejściowy | termsOfUseTextUpdateDateTime | Data i godzina | Typ dateTime oświadczenia, aby sprawdzić, czy jest on wcześniejszy, czy nowszy niż termsOfUseConsentDateTime oświadczenie wejściowe. Część godziny daty jest opcjonalna. |
| OutputClaim (Roszczenie wyjściowe) | wynik | typ logiczny (boolowski) | Typ oświadczenia, który jest generowany po wywołaniu tego przekształcenia oświadczeń. |
Użyj tego przekształcenia oświadczeń, aby określić, czy dateTime typ oświadczenia jest wcześniejszy, czy większy niż określona data. Na przykład sprawdź, czy użytkownik wyraził zgodę na najnowszą wersję warunków użytkowania (TOU) lub warunki użytkowania. Aby sprawdzić czas ostatniego wyrażenia zgody użytkownika, zapisz ostatni raz, gdy użytkownik zaakceptował jednostkę jednostki organizacyjnej w atrybucie rozszerzenia. Gdy słowo TOU zmieni się, zaktualizuj termsOfUseTextUpdateDateTime parametr wejściowy przy użyciu czasu zmiany. Następnie wywołaj to przekształcenie oświadczeń, aby porównać daty. Jeśli przekształcenie oświadczeń zwraca truewartość , termsOfUseConsentDateTime wartość jest wcześniejsza niż termsOfUseTextUpdateDateTime wartość, a użytkownik może poprosić użytkownika o zaakceptowanie zaktualizowanej jednostki 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>
IsTermsOfUseConsentRequired — przykład
- Oświadczenia wejściowe:
- warunki użytkowaniaZgodaDataData: 2020-03-09T09:15:00
- Parametry wejściowe:
- warunki użytkowaniaTextUpdateDataData: 2021-11-15
- Oświadczenia wyjściowe:
- wynik: true
PobierzAktualnąDatęCzas
Pobierz bieżącą datę i godzinę UTC i dodaj wartość do typu oświadczenia. Zapoznaj się z pokazem live tej transformacji oświadczeń.
| Składnik | TransformationClaimType | Typ danych | Notatki |
|---|---|---|---|
| OutputClaim (Roszczenie wyjściowe) | currentDateTime (bieżąca data/godzina) | Data i godzina | Typ oświadczenia, który jest generowany po wywołaniu tego przekształcenia oświadczeń. |
Przykład polecenia GetCurrentDateTime
W poniższym przykładzie pokazano, jak pobrać bieżące dane i czas:
<ClaimsTransformation Id="GetSystemDateTime" TransformationMethod="GetCurrentDateTime">
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="systemDateTime" TransformationClaimType="currentDateTime" />
</OutputClaims>
</ClaimsTransformation>
- Oświadczenia wyjściowe:
- currentDateTime: 2022-01-14T11:40:35.000000Z
Dalsze kroki
- Znajdź więcej przykładów przekształcania oświadczeń w repozytorium GitHub społeczności usługi Azure AD B2C