将DefaultValue设置为DateTime.Now()等效

时间:2018-06-25 14:23:27

标签: azure-ad-b2c identity-experience-framework

如何为当前日期和时间设置默认值?

<OutputClaims>
    <OutputClaim ClaimTypeReferenceId="extension_MyCustomClaim" DefaultValue="DateTime.Now()">
</OutputClaims>

ClaimType供参考:

<ClaimType Id="extension_MyCustomClaim">
    <DisplayName>Some Date/Time</DisplayName>
    <DataType>date</DataType>
    <DefaultPartnerClaimTypes>
      <Protocol Name="OAuth2" PartnerClaimType="myCustomClaim" />
      <Protocol Name="OpenIdConnect" PartnerClaimType="myCustomClaim" />
    </DefaultPartnerClaimTypes>
    <AdminHelpText>Some date time</AdminHelpText>
    <UserInputType>TextBox</UserInputType>
</ClaimType>

更新

  

无法上传政策。原因:验证失败:租户“ my-tenant.onmicrosoft.com”的策略“ B2C_1A_TRUSTFRAMEWORK_BUILDINGBLOCKS”中发现1个验证错误。OutputClaims在ID为“ GetSystemDateTime”的ClaimsTransformation中与转换方法“ GetCurrentDateTime”不匹配。

     

在策略中声明了以下OutputClaims,但TransformMethod并不期望它们:[Date] currentDateTime。 TransformMethod期望以下OutputClaims,但未在Policy中声明:[DateTime] currentDateTime。

想知道是否需要更新的base.xml文件吗?有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您可以声明类型为 GetCurrentDateTime 的索赔转换,然后从技术档案中将其作为输出索赔转换调用:

  <ClaimsTransformation Id="GetNow" TransformationMethod="GetCurrentDateTime">
    <OutputClaims>
      <OutputClaim ClaimTypeReferenceId="extension_MyCustomClaim" TransformationClaimType="currentDateTime" />
    </OutputClaims>
  </ClaimsTransformation>

此外,DataType中的ClaimType必须为dateTime

<ClaimType Id="extension_MyCustomClaim">
    ...
    <DataType>dateTime</DataType>
    ...
</ClaimType>