2

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

<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 个验证错误。ID 为“GetSystemDateTime”和 TransformationMethod“GetCurrentDateTime”的 ClaimsTransformation 中的 OutputClaims 不匹配。

以下 OutputClaims 在策略中声明,但不是 TransformMethod 所期望的:[Date]currentDateTime。以下 OutputClaims 是 TransformMethod 预期的,但未在策略中声明:[DateTime]currentDateTime。

想知道我是否需要更新的base.xml文件?想法?

4

1 回答 1

3

您可以声明GetCurrentDateTime类型的声明转换,然后将其作为技术配置文件中的输出声明转换调用:

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

此外,DataType必须ClaimTypedateTime

<ClaimType Id="extension_MyCustomClaim">
    ...
    <DataType>dateTime</DataType>
    ...
</ClaimType>
于 2018-06-26T06:52:49.090 回答