Комментарии 6
Цель статьи объяснить как получить постоянный доступ для роботов к системам, у которых нет паролей приложения, а есть только OAuth2.
Вы бы хоть слегка упомянули, что у OAuth 2 есть несколько разных grants, а вы описываете один конкретный.
Тут есть один подводный камень - теоретически, можно вызвать адрес RedirectURI и сбить сохраненный в Приложении Grant токен.
Вообще-то, ровно для защиты от такой атаки есть state.
Где хранить Grant токен
Нигде. Authorization Code - короткоживущий, и обычно выбрасывается после первого же использования (которое случается внутри обработчика redirect url).
Если известен Grant токен, можно выполнить запрос, содержащий ClientSecret и Grant токен. Система выдаст Refresh или Refresh и Access токены одновременно.
Наоборот. Access или Refresh и Access. Token endpoint не должен отдавать только рефреш.
Если Refresh токена нет, то он генерируется из Grant токена.
Не должно такого быть (см выше).
Может есть реальный пример или описание как авторизовывать пользователей в веб-клиенте 1С через Госуслуги? Кроме заметки на ИТС, которая не помогла
Основная проблема с Госуслугами - получить учётку для использования OAuth. Это может сделать только юридическое лицо. Дальше почти всё, как у других. Особенности хорошо описаны в документации на русском языке. В 2016 году делал интеграцию сайта с Госуслугами. Позже хотел переписать код, но уже не было учётки, чтобы тестировать.
OAuth2 авторизация по-простейшему для роботов