Вход в админку 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 или лучше продолжать пытаться реализовать сложный подход? пытаться реализовать сложный подход?