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

OIDC标准合规疑问:是否必须调用UserInfo端点获取Claims?

OIDC 标准相关问题解答

1. 是否必须始终调用UserInfo端点获取Claims?

不是必须。OIDC标准仅要求openid scope对应的核心Claims(比如sub)必须出现在ID Token中,其他请求的Claims(如profile、email类)既可以放在ID Token里返回,也可以通过UserInfo端点提供,具体由认证提供商的配置策略决定。像你对接的Keycloak默认把这类Claims放入ID Token、Shibboleth的OIDC插件选择放在UserInfo端点,这两种实现都符合标准。

2. 仅在ID Token缺少所需Claims时调用UserInfo端点的方案是否合规合理?

这个方案既合规又合理:

  • 合规性:OIDC标准没有强制要求必须调用UserInfo端点,也不禁止根据ID Token的内容决定是否发起调用,只要最终获取到了已请求且认证提供商启用的Claims,就符合规范要求。
  • 合理性:这种方式能减少不必要的网络请求,提升应用性能——如果ID Token里已经包含所有需要的Claims,直接使用即可;仅在缺失时调用UserInfo端点补全,兼顾了标准合规性和运行效率。

当然,你也可以选择始终调用UserInfo端点并忽略ID Token中的Claims,这同样合规,但会多一次网络请求,属于逻辑简洁性和性能之间的取舍,可根据自身需求选择。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 12:42:07