2

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

  1. 管理员进入“用户”页面并单击“创建新用户”按钮并填写新用户的姓名和电子邮件地址。
  2. 该新用户检索一封电子邮件,并确认在我们的应用程序中创建了一个用户。
  3. 用户单击电子邮件正文中的链接并进入“设置密码”页面并指定他的密码。

有没有可能用angular + express来实现这样的流程?是否有任何其他可能的流程可以实现?

4

1 回答 1

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工作,我是这些库的维护者 :)

于 2016-02-08T19:54:16.173 回答