#rest #http #firebase-authentication #http-headers
# #rest #http #firebase-аутентификация #http-заголовки
Вопрос:
У меня есть проект, включающий как интерфейс (созданный с помощью Vue), так и серверную часть (созданный с Node.js ). Мой сервер обрабатывает все запросы внешнего интерфейса и имеет свой собственный mongodb. Я использую firebase только для аутентификации.
Моя проблема заключается в следующем: как я могу убедиться, что сервер отправил определенный запрос зарегистрированным пользователем, который имеет право выполнять этот запрос?
Например, если у меня есть запрос POST /user/:uid/products
, который заставляет пользователя добавлять продукт в свою учетную запись, я хочу быть уверен, что это был фактический пользователь, который сделал этот запрос.
Я придумал это: https://firebase.google.com/docs/auth/admin/verify-id-tokens#web , получая токен пользователя из интерфейса и проверяя его на сервере через firebase admin api.
Я просто хочу знать, какой заголовок является правильным, куда я должен поместить этот токен. Я имею в виду, должен ли интерфейс помещать созданный токен в заголовок «Авторизация»? Какой заголовок является наиболее подходящим?
Ответ №1:
Обычно его помещают в заголовок «Авторизация», как вы и сказали.
Обычно заголовок форматируется следующим образом:
Authorization: Bearer <token>
Это задокументировано в структуре авторизации OAuth 2.0: использование токена на предъявителя, раздел 2.1. Ваш серверный сервер, конечно, должен анализировать тот же формат.