Мобильное приложение Flutter с Firebase Auth[Google Sign In] + Django Rest Framework для бэкенда

Пожалуйста, я новичок в django[rest framework] для backend и мне нужна помощь. Я работаю над мобильным приложением flutter и использую firebase в качестве платформы аутентификации - есть ли способ, при котором я уже использую flutter для разработки мобильного приложения, firebase в качестве аутентификации только для подписи пользователей, а затем Django[Django rest framework] в качестве бэкенда таким образом, что подписанные пользователи на firebase могут аутентифицироваться с помощью Django [Django rest framework] для получения и изменения данных.

Я хочу использовать django, потому что у меня уже есть основы на python и я ненавижу правила firebase

Чтобы интегрировать аутентификацию Firebase с Django REST Framework (DRF), выполните следующие шаги:

  1. Аутентификация пользователей во Flutter: Используйте Firebase для входа в мобильное приложение и получайте ID-токен для каждого аутентифицированного пользователя.

  2. Установка пакета аутентификации Firebase для Django: Установите пакет, подобный django-firebase-auth, с помощью pip install django-firebase-auth. В settings.py настройте его, указав на файл ключа Firebase Admin SDK:

    FIREBASE_AUTH = {
        "SERVICE_ACCOUNT_KEY_FILE": "path_to_your_credentials.json"
    }
    
  3. Установите Firebase в качестве класса аутентификации DRF: Добавьте его в качестве метода аутентификации по умолчанию в DRF:

    REST_FRAMEWORK = {
        'DEFAULT_AUTHENTICATION_CLASSES': ['firebase_auth.authentication.FirebaseAuthentication'],
    }
    
  4. Доступ к пользователям Firebase в Django Views: Используйте request.user в представлениях для взаимодействия с аутентифицированными пользователями Firebase.

Эта настройка обеспечивает безопасный доступ к бэкенду Django с помощью Firebase без правил Firebase.

Вернуться на верх