【发布时间】:2017-04-25 00:54:49
【问题描述】:
我正在开始一个单页应用程序,并且我正在使用 JSON Web 令牌来验证客户端(带有服务器 API 的 JS 客户端)。
在我的应用中,用户提供凭据(应用身份验证、facebook、google),然后服务器检查用户是否存在并返回一个令牌。
客户端 JS 为每个请求添加令牌以使用服务器 API。
发行令牌时,它有一个到期时间和一个最大刷新时间。如果为令牌设置一个较短的到期时间和一个“好的”最大刷新时间,我就不得不知道何时刷新令牌。到目前为止,我发现的最佳方法是在令牌过期时(5 分钟前)检查客户端,然后发出刷新请求。然后我会得到一个新的令牌。这可以在达到最大刷新时间之前完成。然后,用户必须重新进行身份验证。
我见过的另一种方法是,在服务器上,如果令牌即将过期或刚刚过期,它会自动刷新并返回给客户端(必须检测令牌更改并存储它)
但是...这和拥有一个长期存在的单一令牌有什么区别?
是否拥有一个可以用刷新令牌更新的短期访问令牌比拥有一个长期访问令牌好很多倍?
【问题讨论】:
标签: rest security authentication jwt single-page-application