2017-07-25 30 views

回答

0

如果你有一个JavaScript应用程序,你应该使用OAuth2隐式流程,它给你一个访问令牌及其到期时间。因此,请勿使用与刷新令牌一起使用的Autorization Code Grant流程 - 它需要一个客户端密钥,您无法在浏览器中保持安全。

当您获取访问令牌时,使用window.setTimeout()安排其刷新。您可以使用请求参数prompt=none(请参阅OpenID Connect RFC)在无用户交互的情况下刷新它。如果令牌在常规超时之前失效,您将从后端得到“HTTP 401 Unauthorized”响应。在这种情况下,检查令牌有效性并在必要时获取新的令牌有效性。

将访问令牌作为cookie并不是一个好主意,因为它会连接到每个请求(具有相同的域,端口和可能的路径),这可能是一个安全问题。保留在sessionStorage

+0

刷新令牌它需要客户端的秘密。但我一直在代理服务器上保持客户端的秘密。 – Avesh

相关问题