Сеанс между вызовами REST с node.js для мобильных устройств

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

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
313
2

Ответы 2

Я не специалист, но ...

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

Вы можете использовать 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', value: '[email protected]'}} 3) POST / user / create / finish

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

Согласно вашему шагу:

sevaral steps: 1. provide email 2. verify email 3. provide personal details 4. upload photo

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

Suggestion: You need to ask for email and password.

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

2. После проверки пользователя. Теперь пользователь пытается войти в систему.

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

ii) Если все правильно, то сгенерировать токен JWT на бэкэнде и отправьте обратно в APP.

ii) Теперь, используя токен JWT, вы можете управлять сеансом пользователя в приложении.

Другие вопросы по теме