gpt4 book ai didi

Azure B2C - 无法从策略中的 JWT 客户端断言 token 读取 "Date"声明

转载 作者:行者123 更新时间:2023-12-03 04:11:12 25 4
gpt4 key购买 nike

我无法从 JWT 客户端断言 token 读取日期声明,然后通过转换方法“ConvertDateToDateTimeClaim”转换为“日期时间”声明。我已在 claim 中尝试过以下日期格式,但没有任何效果。当我在 B2C 政策中设置日期声明的默认值时,它的工作方式除外。

JWT token :{ "创建日期1": "2019-05-26", "创建日期2": "2019-05-26T00:00:00", "创建日期3": "2019-05-26T00:00:00Z", “已验证的电子邮件”:“xxxxxxxxxxxxxxx”, “nbf”:1560005928, “经验”:1560006228, "iss": "xxxxxxxxxxxxxxxxxxxx", “aud”:“xxxxxxxxxxxxxxxxxxxxx”}

错误:ID 为“createdDate”的声明的数据类型“字符串”与策略中指定的 ID 为“createdDate”的声明类型的数据类型“日期”不匹配。

B2C Policy

需要帮助。

最佳答案

尝试从 id_token_hint 参数中的 JWT 读取 dateTime 声明时出现错误。这周就修好了。我可以想象这与日期声明是一样的。

我创建了一个具有以下声明的 JWT:

DateTime unixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
new System.Security.Claims.Claim("LinkExpirationDateTime", ((long)(DateTime.UtcNow.AddMinutes(_appSettings.LinkExpiresAfterMinutes) - unixEpoch).TotalSeconds).ToString(), System.Security.Claims.ClaimValueTypes.DateTime, issuer)

您可以像 https://github.com/azure-ad-b2c/samples/ 上的一些示例所示那样阅读它(例如“通过电子邮件发送帐户兑换链接”)。 ClaimType 为:

<ClaimType Id="LinkExpirationDateTime">
<DisplayName>LinkExpirationDateTime</DisplayName>
<DataType>dateTime</DataType>
</ClaimType>

关于Azure B2C - 无法从策略中的 JWT 客户端断言 token 读取 "Date"声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56578470/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com