你好,
在过去几天里,我一直在尝试弄清楚 OpenID 如何与 Line 结合使用:https://developers.line.biz/en/reference/line-login/,所以我安装了 openid
Line 的 OpenID Connect 发现文档可以在这里找到:
https://access.line.me/.well-known/openid-configuration
我设置了 openid 配置文件和电子邮件范围。
根据 line.biz 的说法,电子邮件地址在令牌中。到目前为止,当我查看日志时,一切看起来都正常。
我在从令牌中提取的 JWT 文件中找到了电子邮件地址
例如:
OIDC 日志:已验证的 JWT—
iss: https://access.line.me
sub: Uf3156a0081c563144b3
aud: ‘1657458025’
exp: 1662826967
iat: 1662823367
nonce: f5930aa4c2bd1b3807d
amr:
- linesso
email: example@example.com
但是,在请求 https://api.line.me/oauth2/v2.1/userinfo 后
电子邮件地址不包含在内。只有姓名和 sub 用户 ID。
查看 line 文档下的 userinfo 似乎是正确的。userinfo 不包含电子邮件。
那么,我该如何提取 JWT 响应中的电子邮件地址呢?我尝试使用声明,也许有一种我遗漏的方法可以获取它?或者这会徒劳无功?这让我头晕目眩 ![]()
谢谢!
编辑:
我在 OpenID 插件页面上读到:openid
如果发现文档包含 userinfo_endpoint 参数,则插件将使用该参数来收集用户元数据。如果没有,插件将从令牌端点提供的 id_token(一个 JWT)中提取元数据。
所以一个解决方案是告诉插件不要使用 userinfo 端点?那将是很好的。但我该怎么做?