我对Firebase的一些行为感到有些困惑.我从未使用旧版本,但我相信getRedirectResult是新的,因为他们与Google合作.
我有一个SPA,我正在使用Vue.js与vue-router和Firebase for.有一个登录页面,然后是另一个用户可以登录或不登录的视图.登录由重定向完成.加载第二个视图时,我在vue-router'activate'钩子中检查getRedirectResult,如果有用户,请用其他信息做一些其他事情.
问题就这样进行:
1.我们在第二页.用户登录.调用getRedirectResult并查找用户.好极了.
2.用户注销.我们回到了登陆页面.
3.我们点击一个按钮,将我们引导至第二页.调用getRedirectResult并查找以前的用户.什么?!没有!
我找不到任何关于我是否遗漏某些内容并需要某种额外检查的内容,或者以某种方式在注销后强行刷新页面,以便忘记最后一个用户登录,或者这是否会被视为错误.任何帮助将不胜感激!
在vue组件路由器'activate'钩子的第二页上调用getRedirectResult:
firebase.auth().getRedirectResult() .then((result) => { return result.user; }).then((user) => { // Do stuff. });
更新: 通过在注销回调中执行硬页面刷新来解决,如下所示:
firebase.auth().signOut() .then(() => {window.location.href = '/'});
javascript firebase vue.js firebase-authentication vue-router