重新加载或刷新页面会删除vue.js中的授权

问题描述 投票:0回答:2

我正在使用vue-google-oauth2库进行社交认证。它工作正常,因为我能够验证我的自我,我也从后端收到一个令牌。

最初我登录时,通过使用vue-google-oauth2库中的一个函数来检查它是否表示我已经被授权,它在我的浏览器控制台中给出了以下响应:

这一点。$ gAuth.isAuthorized

真正

然后,当我刷新浏览器页面,并且因为我在我的代码中放置了一个调试器命令,然后我再次打印相同的函数,我得到以下响应:

这一点。$ gAuth.isAuthorized

我该怎么做才能确保切换标签,重新加载页面或刷新它不会导致这种情况发生?或者这实际上应该发生什么?

javascript vue.js vuejs2 single-page-application
2个回答
0
投票

您是否已将其保存为会话数据?我不熟悉Angular状态是如何工作的,但是当您设置原始状态时,您可以查找会话密钥“已授权”,如果它不存在,则将auth设置为false,如果存在则将其设置为该值。

localstorage.getItem(item)localstorage.setItem(item)

还可以选择制作处理Google身份验证的组件并将其发送到州。


0
投票

从您链接的vue-google-oauth页面的库文档中,您需要将该代码发送回后端服务器以创建一个令牌以保持登录状态,因此它的行为符合预期。从这里(https://www.npmjs.com/package/vue-google-oauth2#usage---getting-authorization-code)它说:

正在返回的authCode是您可以发送到后端服务器的一次性代码,以便服务器可以交换自己的access_token和refresh_token

换句话说,您需要对该代码执行某些操作以使其在您的应用中保持不变,否则它只是一次性代码,因此看起来是可以预期的。

© www.soinside.com 2019 - 2024. All rights reserved.