Вход в админку Django с токеном firebase - какой способ наиболее безопасен?

Я создаю приложение с бэкендом Django (Wagtail) для REST API и фронтендом firebase для auth и firestore. Бэкенд работает на api.domain.com, а фронтенд - на domain.com. Я хочу дать пользователям firebase возможность войти в админку Django (Wagtail). Я пытаюсь реализовать это двумя способами:

Easy: Я получаю токен firebase на фронтенде и отправляю пользователя по адресу api.domain.com/<<firebase token>> Бэкенд делает всю работу по регистрации пользователя. Этот подход работает просто отлично, но мне он не нравится, так как я раскрываю токен в моем url.

Hard: Я делаю api GET запрос от моего фронтенда к бэкенду с токеном firebase в заголовке авторизации:

axios.get('http://localhost:8000', {
withCredentials: true,
headers: {
    Authorization: <<firebase token>>
  }
})...

На моем бэкенде я отвечаю кукой sessionid для api.domain.com и затем перенаправляю пользователя на мой бэкенд администратора django. В теории этот подход кажется осуществимым, но мне сложно установить междоменные куки через вызов API. Я уже пробовал

CORS_ALLOW_HEADERS = list(default_headers) + [
    "accept",
    "accept-encoding",
    "authorization",
    "content-type",
    "dnt",
    "origin",
    "user-agent",
    "x-csrftoken",
    "x-requested-with" 
]
CORS_ALLOW_CREDENTIALS = True
CORS_ALLOWED_ORIGINS = [ 
    "http://localhost:3000",
    "http://127.0.0.1:3000",
    "http://localhost:8000",
    "http://127.0.0.1:8000",
    "http://127.0.0.1",
    "http://localhost",
    "http://test.com:8000",
    "http://test.com"
]

CORS_ALLOW_METHODS = [    
    "GET",
    "OPTIONS"   
]

Этот подход кажется более безопасным и сложным, поскольку cors ужасен. Можно ли отправлять токен firebase в url или лучше продолжать пытаться реализовать сложный подход? пытаться реализовать сложный подход?

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