2016-07-06 72 views
0

我正在尝试使用OpenID Connect进行身份验证,但是我不知道如何在获取,提取并验证ID令牌中的信息后执行会话管理。如何为OpenID Connect做会话管理?

我沿袭至今的步骤,不同之处的步骤在谷歌的OpenID Connect Docs描述:6.验证用户

做会话管理的最佳方法是什么?

思路:

  • 发送ID令牌或访问令牌的客户端(浏览器/ JavaScript的),它存储在会话存储,只有通过HTTPS在发送至服务器认证报头是这样的:

    认证:承载YzNHxEdi118B.QlhOY21sdVp3.0zcHlkR1ExY

    另外,如果它是无效的,我应该通过刷新令牌申请一个新的?

  • 2.基于JWT在现有的基础上写入另一个会话管理系统(这不是一点不必要的开销>)。

如果未来它需要添加更多的供应商(Facebook,微博),其使用另一个身份验证系统类似的OAuth不会我需要实现在现有的顶部的另一个会话管理系统?

回答

0

几周前我有同样的问题,所以我最终实现了一个会话系统在最后使用从openID的验证步骤进行身份验证。

我最终使用带有刷新令牌和访问令牌的JWT。访问令牌将每5分钟过期一次,然后您将不得不使用您的刷新令牌来获取新的访问令牌。

+0

刷新,访问令牌的想法是相当不错的,我已经看到了另一个问题作为答案。对我来说令人困惑的部分是“OpenID的验证步骤”。也许你的意思是验证ID令牌? – TaoJS