Задать вопрос
@magicrushheroes

Как реализовать страницу авторизации и регистрации на angular?

Решил научиться делать приложения на nodejs, angular и mongodb. Подскажите, пожалуйста, как правильно реализовать страницу регистрации и авторизации пользователя. Может есть готовые решения, чтобы разобраться и понять смысл? После регистрации нужно выслать письмо пользователю для подтверждения email. Я так понимаю это нужно после регистрации создавать у пользователя поле типа validEmail: false и после того, как пользователь перешёл по ссылке из письма, менять на true? Больше всего интересует как реализовать отправку письма со ссылкой и после перехода по ней менять значение в монгодб.
  • Вопрос задан
  • 1803 просмотра
Подписаться 3 Оценить Комментировать
Решения вопроса 1
jMas
@jMas
Full stack developer
Вопросы которые вы задаете больше относятся к backend-у (то есть к nodejs), чем к angular.

Есть решения для авторизации, например PassportJs, который позволяет помимио обычной авторизации делать авторизацию через сервисы Facebook, Google+ etc. passportjs.org/docs

Решение довольно стандартное и часто используемое.

Если вам нужно более простое решение - попробуйте посмотреть в сторону комплексного фреймверка, например SailsJS, здесь sailsjs.org/documentation/concepts/middleware например описаны методы авторизации. Так будет проще, потому что есть примеры.

По поводу валидации email - в базе вы добавляете поле validation_hash, в которое пишите уникальный хэш и отправляете ссылку с этим хэшем пользователю - пользователь переходит по ссылке и поле validation_hash обнуляется. Теперь вы можете проверить при следующей авторизации, если validation_hash пустое - пользователь подтвержден, если не пустое - нет.

Но сложно сказать что то определенное, потому что все зависит от требований к вашему сайту.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
23 дек. 2024, в 11:07
10000 руб./за проект
23 дек. 2024, в 10:43
5000 руб./за проект
23 дек. 2024, в 10:32
2000 руб./за проект