如何为当前日期和时间设置默认值?
<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
文件吗?有什么想法吗?
答案 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>