Пользовательская авторизация через заголовки HTTP в Ruby on Rails - PullRequest
4 голосов
/ 12 октября 2019

У меня есть 2 внутренних Rails-сервиса, которые должны общаться друг с другом. Мне нужен совет, как сделать его достаточно безопасным и с минимальными усилиями.

В настоящее время служба A отправляет Authorization HTTP-заголовок службе B, которая содержит секретный токен. Простой метод на основе HTTP-токенов, ничего особенного. Но мне также нужно как-то передать токен пользователя, чтобы служба B узнала, с каким пользователем он разговаривает.

Мое текущее решение следующее:

  1. send Authorization Token token=blabla user_token=blabla2
  2. использовать существующие в Rails методы для его анализа
  3. идентифицировать пользователя по предоставленному user_token
  4. , вдохновленному сообщением StackOverflow

Альтернативы:

  1. Amazon способ с чем-то вроде: Авторизация: токен MY-APP-V1 = blabla Credential = user_token , но мне нужен собственный анализатор для него.
  2. Пользовательский заголовок HTTP, например X-USER-TOKEN, но, похоже, RFC не в пользу этой идеи.
  3. Ваше предложение илипредложение

Большое спасибо за любую помощь.

1 Ответ

1 голос
/ 12 октября 2019

Мне интересно, почему токена пользователя недостаточно, не могли бы вы уточнить это?

Но, если вы хотите продолжить использование подхода с двумя токенами, что-то вроде JWT может использоваться для кодирования токена пользователя с помощью секретного токена. Таким образом, у вас будет только один токен, и вы сможете отправить его просто как Authorization: Bearer xxxxxx.

...