我可以看到OAuth的工作以及一个完全支持Ajax的应用程序,如当地的JS代码可以随时重放承载令牌服务器。 然而,如果我们有一个页面刷新,会发生什么? 在这种情况下,我认为我们失去了令牌,然后回去通过OAuth的重定向过程中得到尚未出台新的访问令牌。 这是正确的,并且是有模式,以避免这种情况,如存储HTML5本地存储的访问令牌?
Answer 1:
如果你在谈论的OAuth 2.0,那么你也许可以同时请求刷新令牌 ,当您使用OAuth 2.0认证提供商和接入(或承载)令牌。 刷新令牌应直接返回到托管Web应用程序,以某种方式存储(或许会话状态)的服务器而非以往任何时候都暴露给浏览器。 该浏览器可以使用访问令牌提出要求,以确保服务/端点需要它,但它应该有一个短寿命(不管是否有一个页面刷新)。 期满后(同样可能或不可能是由于页面刷新)客户端应用程序可以对在刷新令牌提供的托管服务器的请求。 然后,服务器可以使用刷新令牌获取新的访问令牌而无需用户重新登录。
有这样的一个图刷新令牌部分中的OAuth 2.0规范的。
有几个变化如何OAuth 2.0用户可以使用和细节可以与您的特定方案和实施不同,但希望这给你的,你如何避免提示用户在访问令牌到期或重新认证的高级理念页面重载。
文章来源: OAuth access token and page refreshes