OAuth с неинтерактивными учетными записями служб - PullRequest
0 голосов
/ 06 апреля 2020

Является ли тип кода авторизации только для интерактивных учетных записей? Я работаю с API, который, по-видимому, не поддерживает предоставление учетных данных клиента, и, если я не вернусь к basi c auth (user: token), я не знаю, как мы могли бы сделать эту работу для пользователя, который (для нас) служебная учетная запись.

Часть, с которой я борюсь - это возврат кода авторизации. Если я нажимаю на сгенерированный URL-адрес для запроса кода авторизации, я получаю диалоговое окно с просьбой разрешить / подтвердить доступ, и после подтверждения я возвращаюсь к redirect_uri с параметром кода. Это требовало человеческого взаимодействия, которого у нас не было бы. Коды аутентификации не должны быть долгоживущими, поэтому я не могу просто сохранить их для будущего использования.

1 Ответ

0 голосов
/ 07 апреля 2020

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

Код авторизации недолговечный, поэтому вы не захотите хранить код авторизации для дальнейшего использования.

К счастью, вы можете обменять этот код авторизации на токен доступа и обновить sh токен. Хотя срок действия маркера доступа истекает, как правило, около часа, токен refre sh часто остается активным в течение продолжительного времени (это может варьироваться в зависимости от API). API, с которым я работаю в данный момент, не документирует, когда истекает срок его действия, он может не истекать никогда.

Мы просто отметим, что если код refre sh когда-либо завершится неудачно / истечет, то мы должны вручную go на URL авторизации, чтобы получить новый код авторизации, который мы можем обменять на новый токен доступа и обновить sh токен. Мы будем надежно хранить токен refre sh и подключим токен refre sh в нашу автоматизацию. Автоматизация не будет делать authorization_code вызовы типа предоставления (эту часть мы будем продолжать выполнять вручную) и будет выполнять только refresh_token вызовы типа предоставления (те, которые могут быть автоматизированы), а также вызовы для реальной работы с API когда у нас есть fre sh, действительный токен доступа.

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