我正在使用vue-google-oauth2库进行社交身份验证。我可以验证自己的身份,并且也从后端收到令牌,因此效果很好。
最初登录时,使用的功能是vue-google-oauth2库的一部分,该功能用于检查它是否表明我已被授权,它在我的系统中给出以下响应浏览器的控制台:
this。$ gAuth.isAuthorized
true
然后刷新浏览器页面时,由于在代码中放置了调试器命令,因此我再次打印相同的功能, 我得到以下回应:
this。$ gAuth.isAuthorized
false
我该怎么做才能确保切换选项卡,重新加载页面或刷新页面不会发生这种情况?还是这实际上是应该发生的事情?
答案 0 :(得分:0)
您是否考虑过将其另存为会话数据?我不熟悉Angular状态的工作原理,但是当您设置原始状态时,您可以查找会话密钥“ authorized”,如果不存在,请将auth设置为false,如果存在则将其设置为value。
localstorage.getItem(item)
和
localstorage.setItem(item)
也可以选择制作一个组件来处理google auth并将其发送到状态。
答案 1 :(得分:0)
在vue-google-oauth
页面的库文档中,您链接该页面时说,您需要将该代码发送回后端服务器以创建令牌来保持登录状态,因此它的行为符合预期。从这里(https://www.npmjs.com/package/vue-google-oauth2#usage---getting-authorization-code)指出:
所返回的authCode是您可以使用的一次性代码 发送到您的后端服务器,以便该服务器可以交换其 自己的access_token和refresh_token
换句话说,您需要对该代码进行一些操作以使其持久存在于您的应用程序中,否则它只是一次性代码,因此看起来是可以预期的。