Учётные данные клиента дают конкретное основание служебной выдачи. Общее понятие основания не предполагает отдельного пользователя в каждом потоке.
Выдача по учётным данным клиента
Определение
Выдача по учётным данным клиента — способ получить токен доступа, при котором клиент действует от своего имени и предъявляет серверу авторизации свои учётные данные. Он рассчитан только на конфиденциальных клиентов, и разрешения пользователя в нём нет: такой токен не подтверждает вход сотрудника.
Также ищут: Client credentials grant · межсервисный OAuth · выдача M2M
Зачем это знать
Служебная интеграция получает собственный доступ, а не личность сотрудника. До подключения определяют защищённую аутентификацию клиента и ограниченные права службы.
Карта понятия
Что подтверждено
Выдачу по учётным данным применяют, когда конфиденциальный клиент действует от собственного имени или по заранее согласованному разрешению.
Граница применимости: Выдача по учётным данным клиента в OAuth 2.0.
В этом способе нет отдельного разрешения пользователя, поэтому токен нельзя считать личностью или делегированием конкретного человека.
Граница применимости: Личность службы и делегирование доступа пользователем.
Способ выдачи по учётным данным клиента предназначен только для конфиденциальных клиентов. Наличие общедоступного идентификатора клиента у браузерного приложения не позволяет считать эту проверку выполненной.
Граница применимости: Область выдачи по учётным данным клиента по RFC 6749, раздел 4.4; способ аутентификации клиента задаётся его регистрацией и профилем.
RFC 6749 рекомендует не выдавать токен обновления в ответе на выдачу по учётным данным клиента. Новую выдачу клиент может запросить снова с собственными учётными данными.
Граница применимости: Ответ при выдаче по учётным данным клиента по RFC 6749, раздел 4.4.3; уровень SHOULD NOT не выдаётся за утверждение, что все реализации физически запрещают такой токен.
В учебной задаче служба синхронизации получила токен по своим учётным данным. Его нельзя считать подтверждением входа сотрудника или его права на каждую запись: личность службы и прикладные правила доступа проверяются отдельно.
Граница применимости: Закрытый машинный сценарий без делегирования пользователя. Способ выдачи не назначает службе неограниченные полномочия.
Не путать
Учётные данные предъявляют серверу авторизации, полученный токен — API. Формат токена доступа и его получатель проверяются отдельно от способа выдачи.
Что проверить
- Подтвердите конфиденциальный тип клиента.
- Укажите способ его аутентификации.
- Определите собственное или заранее согласованное право.
- Назначьте полномочия и получателя токена.
- Сохраните жизненный цикл учётных данных службы.
- Проверьте повторную выдачу и обработку отказа.
- Не считайте служебный токен входом сотрудника.
Первоисточники
- OpenID Connect Core 1.0 incorporating errata set 2
Определяет identity layer поверх OAuth 2.0, openid scope, ID Token и правила его validation.
- JSON Web Token Profile for OAuth 2.0 Access Tokens
Профилирует JWT access token: at+jwt type, required iss/exp/aud и resource-server validation, отличая его от ID Token.