Сеанс между вызовами REST с помощью node.js для мобильных устройств - PullRequest
0 голосов
/ 26 ноября 2018

Мне нужно зарегистрироваться для мобильного приложения с бэкэндом node.js (express.js).Процесс регистрации включает несколько шагов: 1. предоставить электронную почту 2. проверить электронную почту 3. предоставить личные данные 4. загрузить фотографию

Для каждого из этих шагов должен быть отдельный вызов API сервера (возможно, через REST),Как сохранить сеанс, чтобы сервер знал, что последовательные вызовы поступают от одного и того же клиента?Это мобильное приложение, поэтому я думаю, что сессия на основе файлов cookie не будет работать.Не могли бы вы как-нибудь наставить меня?Правильно ли использовать маркер JWT?

Ответы [ 2 ]

0 голосов
/ 26 ноября 2018

В соответствии с вашим шагом данной:

sevaral шаги: 1. обеспечить электронную почту 2. проверить электронную почту 3. предоставить личную информацию 4. Загрузить фото

1.Зарегистрируйтесь по электронной почте и паролю

Предложение: Вам необходимо запросить электронную почту и пароль.

i) Когда пользователь вводит электронную почту и пароль, проверьтепользователь существует с электронной почтой, если нет, то отправьте проверенное электронное письмо и перенаправьте для входа в систему.После того, как пользователь проверен.Теперь пользователь пытается войти в систему.

i) Когда пользователь пытается войти, проверьте адрес электронной почты и пароль правильный или нет.

ii) Если правильно, генерирует токен JWT на внутреннем интерфейсе и отправить обратно в APP.

1026 * б) Теперь с помощью JWT маркеров вы можете управлять сеансом пользователя на приложении.
0 голосов
/ 26 ноября 2018

Я не эксперт, но ...

1002 * Так вот что вам нужно, во-первых answear вопрос: Сколько времени пользователь должен создать такую ​​учетную запись?Например, если вы не будете хранить информацию, которую пользователь уже начал создавать учетную запись и сервер перезагружен (по какой-либо причине. Например, ошибка), то вы потеряете эту информацию.Так что стоило бы хранить это в каких-то дБ.

Вы можете использовать redis, mongodb, некоторые sql db или просто системные файлы (не рекомендуется), решать только вам.

Предполагая, что вы хотитечтобы сохранить такую ​​информацию, вы можете создать конечные точки REST.Например, вы можете иметь запись в MongoDB (которая в основном хранит структуры JSON).

NewAccount { id: <unique_id> , email, info, images }

Таким образом, каждая создаваемая вами конечная точка будет устанавливать информацию в этой записи MongoDB.

Пример:

1) POST / user / create -> это создаст запись в MongodDB 2) PUT / user / create {body: {field: 'email', значение: 'p@pp.pl'}} 3) POST/ пользователь / создать / отделка

1015 * у нас есть еще один вопрос -> как идентифицировать пользователя?Вы можете попробовать идентифицировать его по IP-адресу.Если это мобильное приложение, у вас есть различные способы хранения информации (например, маркер пользователя), например: https://developer.android.com/guide/topics/data/data-storage
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...