Aracılığıyla paylaş


Talep dönüştürmelerini tarihle

Önemli

1 Mayıs 2025 tarihinden itibaren Azure AD B2C artık yeni müşteriler için satın alınamayacak. SSS bölümünden daha fazla bilgi edinebilirsiniz.

Bu makalede, Azure Active Directory B2C'de (Azure AD B2C) Kimlik Deneyimi Çerçevesi şemasının tarih talep dönüştürmelerini kullanma örnekleri sağlanır. Daha fazla bilgi için bkz . talep dönüştürmeleri.

AssertDateTimeIsGreaterThan

Bir tarihin ikinci tarihten sonra olduğunu onaylar. değerinin değerinden rightOperandleftOperandbüyük olup olmadığını belirler. Evet ise, bir özel durum oluşturur. Bu talep dönüştürme işleminin Canlı tanıtımını gözden geçirin.

Öğe TransformationClaimType Veri Türü Notlar
Giriş İddiası leftOperand String İlk talebin türü, ikinci talepten sonra olması gerekir.
Giriş İddiası rightOperand (Sağ) String İlk talepten önce olması gereken ikinci talebin türü.
Girdi Parametresi AssertIfEqualTo Boolean Sol işlenen sağ işlenene eşitse bu onay işleminin hata oluşturup oluşturmayacağını belirtir. Olası değerler: true (varsayılan) veya false.
Girdi Parametresi AssertIfRightOperandIsNotPresent Boolean Doğru işlenen eksikse bu onaylama işleminin geçip geçmeyeceğini belirtir.
Girdi Parametresi Değirmen İçinde Enternasyonel Davran Int İki tarih saati arasında eşit olan saatleri (örneğin, saat dengesizliği hesaba katmak için) izin verecek milisaniye sayısını belirtir.

AssertDateTimeIsGreaterThan talep dönüşümü her zaman kendi kendine onaylananbir teknik profil tarafından çağrılan bir doğrulama teknik profilinden yürütülür. DateTimeGreaterThan kendi kendine onaylanan teknik profil meta verileri, teknik profilin kullanıcıya sunduğu hata iletisini denetler. Hata iletileri yerelleştirilebilir.

Diyagramlar AssertStringClaimsAreEqual talep dönüştürmesinin nasıl kullanılacağını gösterir.

AssertDateTimeIsGreaterThan örneği

Aşağıdaki örnek, talebi taleple currentDateTime karşılaştırırapprovedDateTime. değerinden currentDateTimesonraysa approvedDateTime bir hata oluşur. Dönüştürme, değerleri 5 dakika (30000 milisaniye) fark içindeyse eşit olarak değerlendirir. değeri olarak ayarlandığından AssertIfEqualTodeğerler eşitse false hata oluşturmaz.

<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>

Uyarı

Yukarıdaki örnekte, giriş parametresini AssertIfEqualTo kaldırırsanız ve currentDateTime değerine eşitseapprovedDateTime bir hata oluşur. Varsayılan AssertIfEqualTo değerdir true.

  • Giriş talepleri:
    • solOperand: 2022-01-01T15:00:00
    • sağOperand: 2022-01-22T15:00:00
  • Giriş parametreleri:
    • AssertIfEqualTo: yanlış
    • AssertIfRightOperandIsNotPresent: doğru
    • TreatAsEqualIfWithinMillseconds: 300000 (30 saniye)
  • Sonuç: Hata oluştu

Talep dönüştürmesini çağırma

Aşağıdaki Example-AssertDates doğrulama teknik profili talep dönüştürmeyi AssertApprovedDateTimeLaterThanCurrentDateTime çağırır.

<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>

Kendinden onaylanan teknik profil doğrulama Example-AssertDates teknik profilini çağırır.

<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

Bir DateTime talep türünü talep türüne Date dönüştürür. Talep dönüştürme, tarihten saat biçimini kaldırır. Bu talep dönüştürme işleminin Canlı tanıtımını gözden geçirin.

Öğe TransformationClaimType Veri Türü Notlar
Giriş İddiası inputClaim tarih ve saat Dönüştürülecek talep türü.
Çıktı İddiası outputClaim tarih Bu talep dönüştürmesi çağrıldıktan sonra oluşturulan talep türü.

ConvertDateTimeToDateClaim Örneği

Aşağıdaki örnekte, talebin (dateTime veri türü) başka bir talepe systemDateTimesystemDate (tarih veri türü) dönüştürülmesi gösterilmektedir.

<ClaimsTransformation Id="ConvertToDate" TransformationMethod="ConvertDateTimeToDateClaim">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="systemDateTime" TransformationClaimType="inputClaim" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="systemDate" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • Giriş talepleri:
    • inputClaim: 2022-01-03T11:34:22.0000000Z
  • Çıkış talepleri:
    • çıktı: 2022-01-03

ConvertDateToDateTimeClaim

Bir Date talep türünü talep türüne DateTime dönüştürür. Talep dönüştürme, saat biçimini dönüştürür ve tarihe 12:00:00 ekler. Bu talep dönüştürme işleminin Canlı tanıtımını gözden geçirin.

Öğe TransformationClaimType Veri Türü Notlar
Giriş İddiası inputClaim tarih Dönüştürülecek talep türü.
Çıktı İddiası outputClaim tarih ve saat Bu talep dönüştürmesi çağrıldıktan sonra oluşturulan talep türü.

ConvertDateToDateTimeClaim Örneği

Aşağıdaki örnekte, talebin (tarih veri türü) başka bir talepe dateOfBirthdateOfBirthWithTime (dateTime veri türü) dönüştürülmesi gösterilmektedir.

  <ClaimsTransformation Id="ConvertToDateTime" TransformationMethod="ConvertDateToDateTimeClaim">
    <InputClaims>
      <InputClaim ClaimTypeReferenceId="dateOfBirth" TransformationClaimType="inputClaim" />
    </InputClaims>
    <OutputClaims>
      <OutputClaim ClaimTypeReferenceId="dateOfBirthWithTime" TransformationClaimType="outputClaim" />
    </OutputClaims>
  </ClaimsTransformation>
  • Giriş talepleri:
    • inputClaim: 2022-01-03
  • Çıkış talepleri:
    • çıktıTalep: 2022-01-03T00:00:00.0000000Z

DateTimeComparison

İki tarihi karşılaştırır ve ilk tarihin daha sonra mı, daha erken mi yoksa başka bir tarihe eşit mi olduğunu belirler. Sonuç, veya truedeğerine sahip yeni bir Boole talebidirfalse. Bu talep dönüştürme işleminin Canlı tanıtımını gözden geçirin.

Öğe TransformationClaimType Veri Türü Notlar
Giriş İddiası firstDateTime tarih ve saat daha sonra, daha erken veya ikinci tarihe eşit olup olmadığını karşılaştırmak için ilk tarih. Null değer bir özel durum oluşturur.
Giriş İddiası secondDateTime tarih ve saat Karşılaştıracak ikinci tarih. Null değer geçerli tarih ve saat olarak kabul edilir.
Girdi Parametresi timeSpanInSeconds Int İlk tarihe eklenecek zaman aralığı. Olası değerler: negatif -2.147.483.648 ile pozitif 2.147.483.647 arasında değişir.
Girdi Parametresi operatör String Aşağıdaki değerlerden biri: same, later thanveya earlier than.
Çıktı İddiası sonuç Boolean Bu talep dönüştürmesi çağrıldıktan sonra oluşturulan talep.

DateTimeComparison örneği

İlk tarih artı parametresinin timeSpanInSeconds daha sonra, daha erken veya başka bir tarihe eşit olup olmadığını belirlemek için bu talep dönüştürmesini kullanın. Aşağıdaki örnekte, ilk tarihin (2022-01-01T00:00:00) artı 90 günün ikinci tarihten (2022-03-16T00:00:00) daha geç olduğu gösterilmektedir.

<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>
  • Giriş talepleri:
    • firstDateTime: 2022-01-01T00:00:00.100000Z
    • secondDateTime: 2022-03-16T00:00:00.100000Z
  • Giriş parametreleri:
    • işleç: sonraki
    • timeSpanInSeconds: 7776000 (90 gün)
  • Çıkış talepleri:
    • sonuç: true

IsTermsOfUseConsentRequired

Talep türünün belirli bir dateTime tarihten önce mi yoksa daha büyük mü olduğunu belirleyin. Sonuç, veya truedeğerine sahip yeni bir Boole talebidirfalse. Bu talep dönüştürme işleminin Canlı tanıtımını gözden geçirin.

Ürün TransformationClaimType Veri türü Notlar
Giriş İddiası termsOfUseConsentDateTime tarih ve saat Giriş dateTime parametresinden önce mi yoksa daha geç mi olduğunu denetlemek için talep termsOfUseTextUpdateDateTime türü. Tanımlanmamış değer sonuç döndürür true .
Girdi Parametresi termsOfUseTextUpdateDateTime tarih ve saat Giriş talebinden dateTime önce mi yoksa daha termsOfUseConsentDateTime geç mi olduğunu denetlemek için talep türü. Tarihin saat bölümü isteğe bağlıdır.
Çıktı İddiası sonuç Boolean Bu talep dönüştürmesi çağrıldıktan sonra oluşturulan talep türü.

Bir talep türünün belirli bir dateTime tarihten önce mi yoksa daha büyük mü olduğunu belirlemek için bu talep dönüştürmesini kullanın. Örneğin, bir kullanıcının kullanım koşullarınızın (TOU) en son sürümünü mü yoksa hizmet koşullarını mı onaylayıp onaylamadığını denetleyin. Bir kullanıcının son onay verme zamanını denetlemek için, kullanıcının toU'yu son kabul etme zamanını bir uzantı özniteliğinde depolayın. TOU sözcüğünüz değiştiğinde, giriş parametresini termsOfUseTextUpdateDateTime değişikliğin zamanıyla güncelleştirin. Ardından tarihleri karşılaştırmak için bu talep dönüştürmesini çağırın. Talep dönüştürmesi döndürürsetruetermsOfUseConsentDateTime, değer değerinden termsOfUseTextUpdateDateTime daha eskidir ve kullanıcıdan güncelleştirilmiş tou kabul etmesini isteyebilirsiniz.

<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 örneği

  • Giriş talepleri:
    • termsOfUseConsentDateTime: 2020-03-09T09:15:00
  • Giriş parametreleri:
    • termsOfUseTextUpdateDateTime: 2021-11-15
  • Çıkış talepleri:
    • sonuç: true

GeçerliTarihSaatiAl

Geçerli UTC tarih ve saatini alın ve değeri bir talep türüne ekleyin. Bu talep dönüştürme işleminin Canlı tanıtımını gözden geçirin.

Öğe TransformationClaimType Veri Türü Notlar
Çıktı İddiası currentDateTime tarih ve saat Bu talep dönüştürmesi çağrıldıktan sonra oluşturulan talep türü.

GetCurrentDateTime örneği

Aşağıdaki örnekte, geçerli verilerin ve saatin nasıl alınacakları gösterilmektedir:

<ClaimsTransformation Id="GetSystemDateTime" TransformationMethod="GetCurrentDateTime">
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="systemDateTime" TransformationClaimType="currentDateTime" />
  </OutputClaims>
</ClaimsTransformation>
  • Çıkış talepleri:
    • currentDateTime: 2022-01-14T11:40:35.0000000Z

Sonraki Adımlar