如何在没有密码的情况下创建stormpath用户?

时间:2016-02-08 19:08:28

标签: stormpath express-stormpath

我们的应用程序的一些用户是管理员。我们希望为他们提供创建新用户的能力。我们考虑以下流程:

  1. 管理员访问"用户"页面并点击"创建新用户"按钮并填写新用户的姓名和电子邮件地址。
  2. 新用户检索电子邮件时确认已在我们的应用程序中创建了用户。
  3. 用户点击来自电子邮件正文的链接,然后进入"设置密码"页面并指定他的密码。
  4. 有可能用angular + express实现这样的流程吗?是否还有其他可能的流程可以实现?

1 个答案:

答案 0 :(得分:2)

您可以创建基于邀请的流程,但是您必须对我们的库进行一些自定义工作。

您需要直接使用Stormpath客户端和Stormpath应用程序,这些应用程序由Stormpath Node SDK提供。在Express中间件内部,使用以下命令检索客户端:

var stormpathClient = req.app.get('stormpathClient')

和申请表:

var stormpathApplication = req.app.get('stormpathApplication`)

在应用程序上,使用stormpathApplication.createAccount()创建用户。传递新帐户数据时,请将密码设置为非常长,随机且无法猜测的密码。如果您的Stormpath目录启用了电子邮件验证,则用户将收到邀请电子邮件。该电子邮件应将它们链接到您的Angular应用程序,并链接到自定义视图,该视图将从URL读取电子邮件验证令牌并将其发布到服务器上的自定义中间件。此中间件需要使用stormpathClient.verifyAccountEmail()来验证令牌。

然后,您可以为该用户收集新密码,并通过设置req.user.password='new password'然后调用req.user.save()来保存该密码。

希望这有帮助!我在Stormpath工作,我是这些图书馆的维护者:)

相关问题