Как вызвать OAuthV2 API из другого OAuthV2 API, передав токен в заголовки аутентификации - PullRequest
0 голосов
/ 11 ноября 2019

Наша команда работает над следующими приложениями:

  • UIApp -> Получает токен OAuthV2
  • Api1, Api2, Api3 -> Поддерживает OAuthV2, получает данные пользователя из токена OAuthv2чтобы получить данные, относящиеся к пользователю

У нас есть сценарий, когда UIApp вызывает Api1, передавая токен OAuthV2 (например, Token1). Теперь внутри Api1 вызывает Api2 для получения некоторых данных. Мой вопрос:

  1. Могу ли я передать тот же токен (Token1), полученный Api1, в Api2?
  2. ИЛИ Нужно ли нам получить новый токен в Api1, чтобы мы могли передатьэто к Api2 во время вызова? Если это так, Token1 содержит заявки пользователей. Как мы все еще можем сгенерировать токен, который будет принят Api2 и все еще содержит информацию пользователя

1 Ответ

0 голосов
/ 11 ноября 2019

Технически токены на предъявителя могут быть перенаправлены из api1 в api2 - OAuth прекрасно это поддерживает.

Однако это поднимает более широкие вопросы, связанные с областью видимости, безопасностью хостинга и какими вещами разрешено вызывать друг друга архитектурно. Часто имеет смысл иметь некоторые правила вокруг этого.

Я склонен использовать правило, согласно которому пользовательский интерфейс вызывает только API, приспособленный к требованиям пользовательского интерфейса, а этот «потребительский» API может вызывать только основные API: https://authguidance.com/2019/03/24/api-platform-design/

Получение второго токена может быть не рекомендовано и усложняет такие области, как производительность и срок действия.

Кроме того, получение токена, содержащего идентификатор пользователя, означает, что пользователю может потребоваться согласие наэто - и вы не можете управлять этим, если вы получаете новый токен незаметно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...