angular - 使用 Auth0 在 Angular 4 应用程序中注销时出现问题

标签 angular authentication cookies auth0

我有一个 Angular 4 应用程序,并使用 Auth0 进行登录和注册。当您单击“登录”时,您将进入 Auth0 自己的页面,您可以在其中输入您的凭据。 Auth0 检查它们,然后将您发送回您选择的回调 url,其中 url 中包含 jwt。然后我将 token 存储在 localStorage 中。

Auth0 建议您在注销时只需删除 localStorage 中的 token 和到期日期即可:

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 的登录页面,而是自动返回带有 token 的回调 URL。这不是我想要的,因为这意味着我没有真正注销。解决这个问题的唯一方法是删除 Chrome 中的“Cookie 和其他站点数据”,但据我所知,没有 Cookie(除了谷歌分析)。

任何人都可以解释一下这里发生了什么以及如何在上面的注销功能中修复它。

最佳答案

除了清除应用程序中的用户 session (通过删除存储在 localStorage 中的 token )之外,您可能还想通过重定向来清除在 Auth0(即身份提供者)处创建的 session 用户访问 https://your-auth0-domain/v2/logout。 请查看 Auth0 的注销文档,了解有关 session 的更多信息以及注销功能的详细信息。

关于angular - 使用 Auth0 在 Angular 4 应用程序中注销时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44841781/

相关文章:

javascript - 如何在 Angular 2+ 中为 Handsontable 添加自定义验证

ruby-on-rails - 使用 Active Directory 进行 Rails 身份验证

php - 无法使用php和Mysql更新数据库

python - 使用 AWS ALB/Cognito 进行身份验证

java - 我们可以使用.NET MVC代码编写的core-java读取cookie吗?

javascript - 对自定义 typescript 错误实例实现instanceof检查?

javascript - 使用一个主类包含我的组件中需要的所有类。这种方式不好吗?

angular - 如何删除 Apollo-Angular 及其所有依赖项?

php - 如何在 Laravel 中执行 "remember me"登录选项?

Python请求无法获取cookie