Заголовок свойства для запроса API токена аутентификации firebase на пользовательский сервер

#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. Ваш серверный сервер, конечно, должен анализировать тот же формат.