如何解决OIDC JWT身份声明例如电话号码或电子邮件可以多个吗?
很快,这样的OIDC JWT有效载荷有效吗?
{
"sub" : "alice","email" : ["alice@wonderland.net","alice@wherever.com"],...
}
在阅读正式的RFC时,我只能发现键(sub
,email
等)必须是唯一的,但关于值则一无所有。
解决方法
email
声明必须为字符串。因此,根据OpenID Connect Core 1.0 spec(格式是我的),数组不是有效值:
电子邮件
字符串最终用户的首选电子邮件地址。它的值必须符合RFC 5322 addr-spec语法。 RP一定不要依赖此值 是唯一的,如Section 5.7中所述。
在RFC 5322中, addr-spec 语法定义如下:
addr-spec是一个特定的Internet标识符,其中包含本地 解释字符串,后跟符号字符(
@
,ASCII 值64),然后是Internet网域。 [...]addr-spec = local-part "@" domain local-part = dot-atom / quoted-string / obs-local-part domain = dot-atom / domain-literal / obs-domain domain-literal = [CFWS] "[" *([FWS] dtext) [FWS] "]" [CFWS] dtext = %d33-90 / ; Printable US-ASCII %d94-126 / ; characters not including obs-dtext ; "[","]",or "\" ```
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。