Пользовательская аутентификация FlutterFlow с использованием Logto
Узнайте, как реализовать пользовательскую аутентификацию в вашем приложении Flutter с использованием Logto Flutter SDK.
Введение
FlutterFlow - это платформа с низким кодом, которая позволяет создавать приложения Flutter визуально. Она предоставляет интерфейс перетаскивания для проектирования интерфейса приложения и генерирует соответствующий код Flutter. Согласно официальной документации, платформа предоставляет три различных варианта интеграции аутентификации:
- Через встроенную аутентификацию Firebase
- Через встроенную аутентификацию Supabase
- Пользовательская аутентификация
Для первых двух FlutterFlow предлагает бесшовную интеграцию с Firebase и Supabase. Нужно настроить проект Firebase или Supabase и настроить параметры аутентификации в FlutterFlow. Однако, если вы хотите использовать другого провайдера аутентификации, вам придется самостоятельно реализовать логику аутентификации.
Что касается пользовательской аутентификации, FlutterFlow предоставляет возможность интеграции с любым провайдером аутентификации, полагаясь на один кастомный API аутентификации.
Однако прямой обмен учетными данными между клиентом и сервером аутентификации не рекомендуется согласно современным стандартам безопасности. Вместо этого следует использовать безопасный процесс аутентификации, такой как OAuth 2.0 или OpenID Connect (OIDC), чтобы аутентифицировать пользователей. Для современных провайдеров удостоверений (IdP), основанных на OAuth 2.0 или OIDC, таких как Auth0, Okta и Logto, тип гранта «пароль ресурсообладателя» (ROPC) не рекомендуется или запрещен по соображениям безопасности. Подробнее см. Устаревший тип гранта ropc.
Стандартный процесс аутентификации OAuth 2.0 или OIDC включает несколько шагов и перенаправлений между клиентским приложением, сервером авторизации и браузером пользователя. В этом посте мы покажем, как кастомизировать класс CustomAuthManager
во FlutterFlow с использованием Logto Flutter SDK для реализации безопасного процесса аутентификации в вашем приложении FlutterFlow.