使用 Auth0 在 Angular 4 个应用程序中注销时出现问题
Issues logging out in Angular 4 app using Auth0
我有一个 Angular 4 应用程序,正在使用 Auth0 进行登录和注册。当您单击登录时,它会将您带到 Auth0 自己的页面,您可以在其中输入您的凭据。 Auth0 检查它们,然后将您发送回您选择的回调 url,并在 url 中使用 jwt。然后我将令牌存储在 localStorage 中。
Auth0 建议您在注销时只需删除 localStorage 中的令牌和到期日期:
public logout(): void {
// Remove tokens and expiry time from localStorage
localStorage.removeItem('access_token');
localStorage.removeItem('id_token');
localStorage.removeItem('expires_at');
// Go back to the home route
this.router.navigate(['/signup']);
}
这工作正常,但是当我再次尝试登录时,我没有被带到 Auth0 的登录页面,而是自动返回带有令牌的回调 url。这不是我想要的,因为这意味着我并没有真正注销。解决它的唯一方法是删除 Chrome 中的 "Cookies and other site data",但据我所知,没有 cookie(除了 google 分析)。
任何人都可以解释这里发生了什么以及如何在上面的注销功能中修复它。
除了在您的应用程序中清除用户会话(通过删除存储在 localStorage
中的令牌),您可能还想清除在 Auth0(即身份提供者)中创建的会话,方法是重定向用户 https://your-auth0-domain/v2/logout
。
查看 Auth0 的注销文档,了解有关会话的更多信息和注销功能的详细信息。
我有一个 Angular 4 应用程序,正在使用 Auth0 进行登录和注册。当您单击登录时,它会将您带到 Auth0 自己的页面,您可以在其中输入您的凭据。 Auth0 检查它们,然后将您发送回您选择的回调 url,并在 url 中使用 jwt。然后我将令牌存储在 localStorage 中。
Auth0 建议您在注销时只需删除 localStorage 中的令牌和到期日期:
public logout(): void {
// Remove tokens and expiry time from localStorage
localStorage.removeItem('access_token');
localStorage.removeItem('id_token');
localStorage.removeItem('expires_at');
// Go back to the home route
this.router.navigate(['/signup']);
}
这工作正常,但是当我再次尝试登录时,我没有被带到 Auth0 的登录页面,而是自动返回带有令牌的回调 url。这不是我想要的,因为这意味着我并没有真正注销。解决它的唯一方法是删除 Chrome 中的 "Cookies and other site data",但据我所知,没有 cookie(除了 google 分析)。
任何人都可以解释这里发生了什么以及如何在上面的注销功能中修复它。
除了在您的应用程序中清除用户会话(通过删除存储在 localStorage
中的令牌),您可能还想清除在 Auth0(即身份提供者)中创建的会话,方法是重定向用户 https://your-auth0-domain/v2/logout
。
查看 Auth0 的注销文档,了解有关会话的更多信息和注销功能的详细信息。