Как генерировать коды для пользователей для регистрации в приложении

#flutter #dart #mobile

#flutter #dart #Мобильный

Вопрос:

Я работаю над приложением flutter и хочу создать регистрационную форму для людей, которые получают код!

В форме регистрации есть текстовое поле, пользователь должен взять код, записать его туда, и если это правильно => сделано, не правильно => Ошибка!

Как я могу это сделать?

Ответ №1:

Вам понадобится некоторая форма проверки. Один из способов, которым это может быть достигнуто, — иметь отдельную систему, генерирующую случайные коды и сохраняющую их. Каждый раз, когда вы получаете код во время регистрации, вы запрашиваете эту другую систему и проверяете, сгенерировала ли она этот код.

Итак, в основном это функциональные возможности систем:

Система 1

1. Сгенерируйте код — сохраните и верните сгенерированный код вызывающему. Только для внутреннего использования.


2. Подтвердите код — верните true, если он действителен, иначе false


3. Удалить код — возвращает true, если код успешно удален, false, если код не удален (например: неверный код, ошибка базы данных и т.д.)


Система 2

1. Запросить код. Пользователь вводит свою информацию и в конечном итоге получает код


2. У вас уже есть код. Пользователь регистрируется, используя свой код, и он проверяется системой 1

Отделение генерации кода и проверки от вашего приложения является хорошей мерой безопасности, но если это просто игрушечное приложение для практики, вы также можете включить его в свое приложение.


Другим вариантом было бы иметь приемлемый формат для кодов. Таким образом, все, что соответствует формату, считается допустимым кодом. Это небезопасно, потому что, если кто-то узнает формат, они могут распространять неограниченное количество (или столько, сколько позволяет формат) кодов. Вам также придется сохранить использованные коды или разрешить повторное использование кодов. Если вы собираетесь хранить использованные коды, вы также можете пойти другим путем и хранить только доступные для использования коды (используется меньше места для хранения). Если вы решите выбрать форматный маршрут, вам нужно убедиться, что формат достаточно сложен для случайного угадывания, чтобы люди не могли снова и снова угадывать случайные коды и легко получить один.

В целом, это действительно зависит от потребностей вашего приложения. Если вам нужно что-то безопасное, я бы посмотрел, есть ли уже проверенное решение. Если требуется умеренная защита, вы можете реализовать это самостоятельно, используя firebase / облачные функции. Если безопасность не является проблемой, вы можете выбрать формат, который считается допустимым, и пока введенный код соответствует этому формату, регистрация разрешена.