【问题标题】:How do I redirect to different pages with Auth0 and Lock in Angular 1?如何使用 Auth0 重定向到不同的页面并锁定 Angular 1?
【发布时间】:2017-05-14 12:31:01
【问题描述】:

我正在使用 Auth0 和 Lock 10,但在弄清楚如何正确自定义锁时遇到了很多麻烦。

在 Angular 的配置阶段,lockProvider.init 提供“redirectUrl”参数,根据快速入门指南here。

问题是,如果用户已经注册,我想将他们重定向到一个路由(我正在使用 ui-router),如果他们以前注册过并且他们现在正在登录,我想将他们重定向到另一个路由。

我不认为我可以在函数运行后更改 lockProvider.init 变量,并且 redirectTo 变量不在调用 show() 以调出锁定模式时可以更改的选项列表中。

任何帮助都将不胜感激...我觉得我对锁的理解一定缺少一些东西,因为我看不出它可以如何用于除了简单的登录窗口之外的任何东西。

【问题讨论】:

  • The problem is that I would like to redirect users to one page if they have signed up, and another page if they have previously signed up, and they are now signing in 你的意思是重定向到不同的route 还是像一个实际的页面 home.html 或 profile.html ?
  • 没错。更新了:)

标签: angularjs auth0


【解决方案1】:

假设您使用隐式授权流程请求颁发 ID 令牌,Lock 启动的身份验证过程的结果将是触发 authenticated 事件,表明您收到了请求的 ID 令牌。这将通过您配置的重定向 URL 传递。

收到并验证此令牌后,您可以将经过身份验证的用户重定向到您自己的应用程序中的任何路由。

如果您需要区分首次登录的用户和经常登录的用户,您可以通过以下任一方式做到这一点:

  • 在 ID 令牌中包含信息,告知您用户是否是第一次使用的用户(您可以查看使用 Auth0 rules 来实现此目的)。
  • 在您自己的应用程序后端跟踪首次使用的用户,并在收到 ID 令牌后向您的后端发出请求,以了解这是否是首次使用的用户。

收到的 ID 令牌将包含一个 sub 声明,其中包含一个唯一且稳定的用户标识符,您可以使用该标识符在自己的后端跟踪用户相关信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多