Как OAuth работает API для API без интерактивных пользователей? - PullRequest
0 голосов
/ 10 июля 2020

У меня периодически запускается фоновая задача, которая требует подключения к клиентскому API, защищенному Apigee OAuth2. Насколько я понимаю OAuth2, пользователь должен go перейти на страницу входа в Apigee, и он будет перенаправлен на возвращаемый URL-адрес с токеном. Этот способ я использовал ранее в проектах веб-сайтов. Но в этом сценарии нет ни пользователей, ни веб-сайта, ни обратного URL-адреса, это всего лишь некоторый код, выполняющий HTTP-запрос.

Возможно ли это? Каждый поиск в Google, который я делаю, связан с тем, что пользователи входят в систему вручную и получают токен для обратного URL.

Я нашел упоминание о «потоках» и, возможно, есть еще какие-то «потоки»? но очень сложно получить четкое представление о том, как это работает, потому что руководства ориентированы на интерактивные веб-сайты пользователей.

1 Ответ

1 голос
/ 10 июля 2020

OAUTH 2.0 - это отраслевой стандарт авторизации. OAUTH 2.0 поддерживает множество типов разрешений на авторизацию, а именно:

  1. Код авторизации
  2. Неявный
  3. Учетные данные пароля владельца ресурса
  4. Учетные данные клиента [Примечание что вы также можете придумать свои собственные пользовательские гранты, если вы создаете или расширяете свой сервер авторизации - однако это выходит за рамки этого вопроса]

В приведенном вами примере вы используя тип предоставления кода авторизации, при котором вы перенаправляете на APIGEE и получаете код авторизации. Сервер APIGE действует как «посредник между клиентом и владельцем ресурса» в терминах OAUTH 2.0.

Для вашего нового требования вам следует рассмотреть возможность использования типа предоставления учетных данных клиента, когда клиенту предоставляется ключ клиента и секрет. Клиент несет ответственность за вызов сервера авторизации (например, APIGEE в вашем предыдущем примере или что-то еще) и получение токена, а затем использование этого токена в последующих запросах.

Я рекомендую вам прочитать стандарт ietf для oauth 2.0 для лучшего понимания - см. https://tools.ietf.org/html/rfc6749. Обязательно прочтите «Роли» в этой ссылке, прежде чем углубляться в содержание этого документа. Удачи!

...