【发布时间】:2017-01-25 02:33:23
【问题描述】:
我有一个场景,OIDC 似乎很适合:用户需要从服务器获取一些私人数据的移动应用程序。我已经阅读了 OIDC 教程such as this one,我想我理解了它们,但在全球范围内仍然存在一个至关重要的最终“漏洞”。
无论如何,如果我正确理解了 OIDC 的代码流,这是对交互的简要总结:
- 移动应用程序将联系 OIP 授权端点,在
scope中表明我们对用户的电子邮件感兴趣。它将以redirect_uri的形式提供指向在移动应用本身中运行的简单网络服务器的指针。 - OIP 将通过
redirect_uri联系移动应用程序,并向其提供授权码。 - 移动应用现在将联系 OIP 令牌端点并向其提供在第 2 步中获得的授权代码。它还将向 OIP 提供必须发送回复的
redirect_uri。 - OIP 将通过
redirect_uri联系应用程序,并向其提供已签名的 JWT 以及我们请求的声明(电子邮件)。
教程到此结束。我认为现在暗示移动应用程序会将步骤 4 中获得的 JWT 发送到我的服务器。但是,服务器应该如何知道 JWT 是有效的?当然,它是由 OIP 签名的,但是服务器是否应该有一个硬编码的 OIP 公钥列表来验证 JWT?我发现的 OIDC 教程中似乎缺少这些最后的关键步骤...
【问题讨论】:
标签: jwt openid-connect