ASP.NET Core Web API, как временно сохранить проверенный номер телефона - PullRequest
0 голосов
/ 12 ноября 2018

У меня есть основное веб-приложение asp.net с идентификатором ядра asp.net.На моей странице регистрации я должен подтвердить номер телефона пользователя.Чтобы сделать это, я использую Twilio, который великолепен.Моя страница регистрации построена как мастер.На втором этапе пользователь проверяет свой телефон и только в конце мастера делается запрос на создание пользователя.Моя проблема в том, что проверка кода twilio не может быть использована дважды.Так что, если я использую его на втором шаге, я не могу использовать его снова для реального запроса на создание.Мне нужен способ присвоить этот телефонный номер пользователю до того, как запрос на регистрацию произойдет.Сессия могла бы быть отличной, если бы это был не веб-интерфейс.Я думал о создании токена безопасности с подтвержденным пользователем номером телефона.Этот токен будет прикреплен к запросу на создание и будет иметь срок действия.Когда пользователь проверит свой телефон на втором этапе, сервер вернет клиенту токен с телефоном и сроком действия.Это будет отправлено вместе с пользовательскими данными в запросе на создание.Я не уверен, что это правильный способ сделать это, и если это так, я буду очень признателен за некоторую помощь о том, как создать этот токен (все примеры, которые я нашел, создавали токен для существующего пользователя)

1 Ответ

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

Процессы многоэтапной отправки - анахронизмы в сценарии API. Клиенты должны иметь возможность предоставить всю информацию одновременно. Если вам необходимо подтвердить номер телефона, для этого должна быть отдельная конечная точка, которая имеет дело только с этим конкретным компонентом.

Другими словами, клиент должен отправить сообщение в конечную точку «Создать пользователя» со всей информацией, необходимой для успешного создания пользователя, и пользователь должен быть создан немедленно. Затем клиент сделает отдельный запрос для проверки номера телефона. Если вы не хотите, чтобы пользователь мог использовать свою учетную запись перед проверкой номера телефона, вы можете сделать это обязательным требованием, но объект пользователя должен сохраняться независимо. Если хотите, вы можете внедрить какой-либо процесс обслуживания для очистки любых пользовательских записей, у которых нет подтвержденных номеров по истечении некоторого периода времени.

...