如何使用Auth0和Angular 1中的锁定重定向到不同的页面?

时间:2016-12-30 07:18:39

标签: angularjs auth0

我正在使用Auth0和Lock 10,而且我在如何正确定制锁定方面遇到了很多麻烦。

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

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

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

任何帮助都会非常感激...我觉得在理解锁定时我一定会缺少一些东西,因为我看不出它如何用于简单的登录窗口。

1 个答案:

答案 0 :(得分:0)

假设您正在使用隐式授权流来请求发出ID令牌,Lock启动的身份验证过程的结果将触发authenticated事件,表示您收到了请求的ID令牌。这将在您配置的重定向网址上提供。

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

如果您需要区分首次执行登录的用户与定期用户,您可以通过以下任一方式执行此操作:

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

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