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





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