You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure B2C用户流中如何将ISO8601格式字符串声明按字符串处理?

解决Azure B2C用户流中ISO8601字符串声明的类型转换问题

Azure B2C的API连接器会自动根据返回值内容推断数据类型,ISO8601格式的字符串会被识别为DateTime类型,和你定义的String类型声明冲突,导致报错AADB2C99072。无需使用自定义策略的话,可通过以下两种方案解决:

方案1:修改API返回格式,避免自动类型推断

通过调整返回的字符串格式,让B2C无法识别为DateTime类型:

  • 添加标识前缀/后缀:在ISO8601字符串前后添加非日期格式的内容,比如返回"DATE:2023-05-09T00:15:00.0000000Z"。B2C会将其视为普通字符串存储,后续在应用端使用时去掉前缀即可。
  • Base64编码:将日期字符串转换为Base64编码后返回,例如"MjAyMy0wNS0wOVQwMDoxNTowMC4wMDAwMDAwWg=="。存储后需在应用端解码还原原始日期字符串。

方案2:调整声明和属性的类型为DateTime

如果业务允许将该值作为DateTime类型处理:

  1. 在Azure B2C门户的用户属性中,将目标自定义属性的类型修改为DateTime。
  2. 在用户流的自定义声明设置里,把对应声明的类型也改为DateTime。
    这样API返回的ISO8601字符串会被正确识别为DateTime类型,不会触发类型不匹配错误。后续若需字符串格式,可在应用端自行转换。

内容的提问来源于stack exchange,提问作者Cory M

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 09:15:42