Как создать пользователя stormpath без пароля?

Некоторые пользователи нашего приложения являются администраторами. Мы хотим дать им возможность создавать новых пользователей. Мы думаем о следующем потоке:

  1. Администратор переходит на страницу «Пользователи» и нажимает кнопку «Создать нового пользователя» и вводит новое имя пользователя и адрес электронной почты.
  2. Этот новый пользователь получает электронное письмо с подтверждением того, что пользователь был создан в нашем приложении.
  3. Пользователь щелкает ссылку из тела письма и переходит на страницу «Установить пароль» и указывает свой пароль.

Можно ли добиться такого потока с помощью angular + express? Существуют ли какие-либо другие возможные потоки, которые могут быть достигнуты?


person user2643246    schedule 08.02.2016    source источник


Ответы (1)


Вы можете создать поток на основе приглашения, но вам придется проделать некоторую работу с нашими библиотеками.

Вам нужно будет работать непосредственно с клиентом 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 и занимаюсь поддержкой этих библиотек :)

person robertjd    schedule 08.02.2016