首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenAM OpenID连接令牌验证

OpenAM OpenID连接令牌验证
EN

Stack Overflow用户
提问于 2017-03-29 13:54:54
回答 1查看 1.5K关注 0票数 0

使用OpenAM openid连接代理,我创建了一个名为的OAuth 2.0/ OpenID连接客户端,其作用域为OpenID。

我的OpenAM实例部署在Tomcat 7上,我调整了/etc/host文件,将localhost显示为openam.example.com。

使用默认凭据,我可以使用以下方法检索OpenID连接id令牌:

代码语言:javascript
复制
curl -k -u Test-Client:password -d "grant_type=password&username=demo&password=changeit&scope=openid" -H "Content-Type: application/x-www-form-urlencoded" "http://openam.example.com:8080/openam/oauth2/access_token"

然后,如果我的承载令牌仍然有效,我可以检索OpenID用户信息(上面的命令返回访问令牌):

代码语言:javascript
复制
curl POST -H "Authorization: Bearer {{access_token}}" -k -v "http://openam.example.com:8080/openam/oauth2/userinfo"

我的问题是:

  • 如何找到用于签署id_token JWT的秘密?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-14 07:13:08

我没有使用Open的经验,但是要验证ID令牌,您需要获得OpenID连接提供程序的正确公钥(如果密钥是由非对称密码签名的)。要获得它,您应该阅读它的发现文档,该文档应该位于/.well-known/openid-configuration。在返回的JSON文档中,找到一个jwks_uri值并加载该URL。您将获得另一个带有服务器所有公钥的JSON文档。然后,您需要从ID令牌中找到一个具有kid (键ID)值的匹配kid的值。

如果令牌被签名为对称密码,则没有标准化的分配方法。

有关更多信息,请参见:

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43095590

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档