我在Angular 2中使用Auth0。但是,如果用户在页面加载时没有登录,我想自动打开登录弹出窗口,所以我添加了在我的auth.service.ts文件的构造函数中包含以下代码:
// If user isn't logged in, invoke login popup (my custom method)
if (!this.authenticated()){
this.login();
}
// Add callback for lock `authenticated` event (default method from Auth0)
this.lock.on("authenticated", (authResult:any) => {
...
});
这在页面刷新时非常有用,无论是在用户未登录还是登录时,都有一种情况是它无法正常工作。在我登录后,它会自动将我重定向回我指定的redirectUrl,但问题是在成功登录后重定向之后,this.authenticated()
返回false,就好像我没有登录一样,所以每次成功登录后,都会显示登录弹出窗口。
重定向authenticated()
方法后需要一段时间才能准确反映我的登录状态。如何实现此代码以使其在所有方案中都有效,包括在成功登录和后续重定向之后?