Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oauth 2.0 在浏览器刷新时保留OAuth 2.0令牌_Oauth 2.0_Access Token_Page Refresh - Fatal编程技术网

Oauth 2.0 在浏览器刷新时保留OAuth 2.0令牌

Oauth 2.0 在浏览器刷新时保留OAuth 2.0令牌,oauth-2.0,access-token,page-refresh,Oauth 2.0,Access Token,Page Refresh,实现与OAuth 2.0服务器对话的网站。用户登录,获得承载令牌,一切正常,直到刷新页面,承载令牌丢失 为了防止我的用户再次登录,我考虑使用刷新令牌并从服务器请求一个新的承载令牌。这意味着我必须在本地缓存刷新令牌 这是不赞成的吗?人们如何在页面刷新时存储承载令牌?假设在访问令牌到期时正在使用 当用户刷新浏览器时,会话似乎已“停止”,因此身份验证将丢失。你在不同的浏览器上检查过吗?刷新后是否可以检查“会话”是否存在?(铬合金易于检查)。你在用弹簧吗?从技术上讲,我认为您必须将应用程序配置为使用会话

实现与OAuth 2.0服务器对话的网站。用户登录,获得承载令牌,一切正常,直到刷新页面,承载令牌丢失

为了防止我的用户再次登录,我考虑使用刷新令牌并从服务器请求一个新的承载令牌。这意味着我必须在本地缓存刷新令牌

这是不赞成的吗?人们如何在页面刷新时存储承载令牌?

假设在访问令牌到期时正在使用


当用户刷新浏览器时,会话似乎已“停止”,因此身份验证将丢失。你在不同的浏览器上检查过吗?刷新后是否可以检查“会话”是否存在?(铬合金易于检查)。你在用弹簧吗?从技术上讲,我认为您必须将应用程序配置为使用会话…

存储承载令牌的常用方法是在会话cookie中,这样,除非用户关闭浏览器,否则令牌不会丢失。这是通常的方法,但您可以将其存储在任何您想要的地方,例如HTML5存储中。在到期之前,它将是有用的。但是,在请求中包含令牌(通常在授权头中)很重要,因此您必须从存储令牌的任何位置恢复令牌


刷新令牌不是用于请求新令牌,而是用于在到期前续订。例如,如果令牌配置为在一小时内过期,则可以使用刷新令牌在该小时内续订。如果您的令牌过期,刷新令牌将无法再使用。

我认为这里没有会话,因为当我的用户对OAuth服务器进行“身份验证”时,服务器只返回一个类似于{access\u-token:xxx,refresh\u-token:yyy}的JSON对象。如何处理该JSON对象取决于我。目前,我没有将该对象存储在会话存储区或任何东西中。我只是把它留在记忆里。当用户刷新页面时,该对象将丢失。人们通常会缓存从OAuth服务器返回的刷新令牌吗?“人们通常会缓存吗”?我不知道大多数应用程序需要什么。但我猜web应用程序希望用户在刷新页面后仍能保持登录状态。我知道在Java中,Spring(如果你听说过的话…)确实使用缓存并在会话中保留令牌…如果我的回答对你有帮助,请不要忘记将其标记为“有用”(绿色的V标记…-)谢谢!谢谢你的帮助。希望在开发问题上获得更好的指导,主要是IE 10