FlutterFlow: Создание пользователей администратором
Это руководство описывает процесс реализации функции создания учетных записей пользователей непосредственно администратором приложения, минуя стандартный процесс самостоятельной регистрации.
Abstract
В корпоративных приложениях или закрытых системах часто требуется, чтобы администратор сам добавлял пользователей. Стандартный механизм аутентификации FlutterFlow (Sign Up) автоматически авторизует созданного пользователя, что мешает администратору создавать несколько аккаунтов подряд. Решение заключается в использовании Cloud Functions и Firebase Admin SDK, которые позволяют создавать записи в Firebase Auth и документы в Firestore без смены текущего сеанса администратора.
Timeline
- 00:10(https://youtu.be/080vvVyjGYY?t=10) — Сценарии использования: почему важно иметь админ-панель для создания пользователей.
- 00:48(https://youtu.be/080vvVyjGYY?t=48) — Проектирование интерфейса: необходимые поля (Display Name, Email, Password).
- 01:17(https://youtu.be/080vvVyjGYY?t=77) — Архитектурный подход: использование Cloud Function как моста.
- 01:37(https://youtu.be/080vvVyjGYY?t=97) — Разбор кода функции: вызов
admin.auth().createUser. - 01:47(https://youtu.be/080vvVyjGYY?t=107) — Синхронизация данных: запись информации в коллекцию
users. - 02:23(https://youtu.be/080vvVyjGYY?t=143) — Настройка FlutterFlow: добавление действия
Validate Form. - 02:34(https://youtu.be/080vvVyjGYY?t=154) — Проверка безопасности: сравнение пароля и подтверждения.
- 03:06(https://youtu.be/080vvVyjGYY?t=186) — Обработка ошибок: вывод Alert Dialogue при несовпадении данных.
- 03:26(https://youtu.be/080vvVyjGYY?t=206) — Связывание Cloud Function с кнопкой создания аккаунта.
- 04:15(https://youtu.be/080vvVyjGYY?t=255) — Демонстрация: создание тестового пользователя в реальном времени.
- 04:50(https://youtu.be/080vvVyjGYY?t=290) — Верификация: проверка новой записи в Firebase Authentication.
- 05:10(https://youtu.be/080vvVyjGYY?t=310) — Проверка Firestore: подтверждение создания документа пользователя.
Key Concepts
- Admin Auth Flow: Процесс, при котором привилегированный пользователь создает других пользователей через серверную среду.
- Cloud Functions (
admin.auth()): Единственный безопасный способ создать пользователя в Firebase Auth без автоматического входа под его данными на клиенте. - Firestore Sync: Автоматическое создание профиля пользователя в базе данных сразу после генерации его UID в системе аутентификации.
- Form Validation: Предотвращение ошибок ввода (особенно паролей) на стороне администратора.
Practical Tips
- Безопасность Cloud Function: Всегда проверяйте права вызывающего пользователя (admin) внутри самой функции, чтобы предотвратить несанкционированное создание аккаунтов.
- Подтверждение пароля: Даже если администратор создает аккаунт, поле “Confirm Password” критически важно, так как администратор не знает пароль пользователя и не может его легко увидеть после создания.
- Кастомизация: Вы можете расширить Cloud Function, добавляя дополнительные поля, такие как
role,departmentилиsubscription_plan, сразу при создании. - Валидация Email: Используйте встроенную валидацию FlutterFlow для проверки формата почты перед отправкой запроса в облако.
Conclusion
Использование Cloud Functions для создания пользователей — это надежный и масштабируемый паттерн для административных панелей в FlutterFlow. Это позволяет поддерживать чистоту процесса аутентификации и гарантирует, что администратор остается в системе под своим аккаунтом, успешно добавляя новых членов команды или клиентов.