2015-11-10 2 views
0

Мы создаем платформу для опроса сотрудников с Ember JS и Firebase в качестве бэкэнд.Firebase Email и аутентификация пароля - доступ к паролю пользователей

И мы используем аутентификацию электронной почты и пароля Firebase для хранения паролей наших пользователей. Мы не храним пароли в нашей firebase.

Применение потоков, как это:

  1. Администратор создает опрос и добавляет вопросы
  2. Администратор добавляет пользователей в опросе (с именем, адрес электронной почты и пароль)
  3. Администратор отправляет электронные письма пользователям
  4. Войдите в систему и ответьте на запрос

Как видно из рабочего процесса выше, одна из особенностей, требуется «Менеджер электронной почты», который отправляет электронное письмо пользователям на основании их статуса опроса (например: «Опрос не начат», «Обследование частично завершено» и т. д.)

В электронном письме, которое мы отправляем, необходимо отправить учетные данные пользователя (т.е. email и пароль), чтобы они могли войти в систему. Образец электронной почты будет выглядеть следующим образом:

"

Пожалуйста, войдите в свой опрос по этому адресу - www.voiceupsurvey.com, используя следующие параметры доступа:

Email: bobtony @ yourcompany. ком

Пароль: XA3kdt3

"

У вас есть какие-либо предположения относительно того, как мы можем это сделать?

В частности, я не уверен, как запросить пароль пользователя из хранилища аутентификации Firebase.

+1

Я не знаю Firebase, но если это хорошо, вы не можете запрашивать пароль пользователя. Хранение паролей пользователей - одна из худших идей когда-либо, и никакое хорошее программное обеспечение не сделает это. Если вы создаете учетную запись пользователя, получите сгенерированный пароль в этот момент и отправьте письмо, а затем отбросьте его. – spectras

+0

@spectras - спасибо. Да ... Я не храню пароли пользователей, так как firebase обрабатывает эту часть для нас с помощью службы проверки подлинности электронной почты и пароля. – learningMachine

ответ

6

Firebase не хранит пароль пользователя, что представляет собой огромный риск для безопасности.

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

поток вашего приложения будет:

  1. Администратор создает опрос и добавляет вопросы
  2. Администратор добавляет пользователей в опросе (с именем, адрес электронной почты и случайный пароль)
  3. Администратор отправляет сброс пароля электронные письма пользователям
  4. Пользователи, которые отвечают запросу и отвечают на вопросы

Обратите внимание, что пароль на шаге 2 никогда не используется, поэтому сделайте его длинным и неопасным, чтобы снова снизить риск безопасности.

+0

Спасибо, Фрэнк. Ваш поток имеет большой смысл. – learningMachine

+0

Кроме того, можно было бы настроить программный код сброса пароля с помощью программного обеспечения (через api)? – learningMachine

+0

Нет. Если вы хотите это сделать, вам придется использовать другую услугу для отправки электронных писем. –

4

Во-первых - вы не можете запрашивать пароль пользователя из Firebase.

Во-вторых - звучит лучше добавлять пользователей к опросу только с именем & почтой или даже только с почтой, и пусть пользователи могут войти в систему/зарегистрироваться.

Что произойдет, если администратор добавит одного пользователя к более чем одному опросу?

У вас может быть другой пароль для ввода конкретного опроса, но он должен находиться в отдельном месте, не подключен к данным аутентификации пользователя.

Если вы не хотите, чтобы кто-либо входил в систему, вы можете предоставить некоторый токен со ссылкой в ​​письме, чтобы проверить, может ли пользователь зарегистрироваться.

+0

Спасибо giladk. Задача регистрации пользователей заключается в том, что уровень участия в опросах может снизиться, так как пользователям потребуется выполнить дополнительный шаг. – learningMachine

Смежные вопросы