我们的应用程序的一些用户是管理员。我们希望为他们提供创建新用户的能力。我们考虑以下流程:
有可能用angular + express实现这样的流程吗?是否还有其他可能的流程可以实现?
答案 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工作,我是这些图书馆的维护者:)