ID Token

§§IBT7§§¶@definition¶ID Token — токен OIDC с утверждениями об аутентификации и идентичности пользователя для клиентского приложения.¶@plain¶ID Token — подписанный набор утверждений OpenID Connect о факте аутентификации пользователя, предназначенный клиентскому приложению. Он помогает клиенту создать сеанс, но не служит универсальным пропуском к произвольному API.¶@use¶Клиент получает ID Token от доверенного OpenID Provider, проверяет подпись, issuer, audience, срок, nonce и другие обязательные параметры. Для вызова API используют access token с подходящими полномочиями, а данные профиля берут только из доверенных claims.¶@example¶Веб-приложение отправляет nonce в запросе входа. После возврата оно проверяет `iss`, собственный `aud`, `exp` и совпадение nonce, затем создаёт локальную сессию; ID Token не передаётся микросервису как access token.¶@compare¶JWT¦/slovar-informacionnoy-bezopasnosti/identifikaciya-i-dostup/jwt¦JWT — лишь возможный формат представления.¤access token¦¦access token даёт предъявителю полномочия обратиться к ресурсу.¶@steps¶Запросить вход¦Клиент направляет пользователя к OpenID Provider с client_id, redirect URI, state и nonce.¤Аутентифицировать¦Провайдер проверяет пользователя и формирует утверждения для конкретного клиента.¤Выдать токен¦Подписанный ID Token возвращается через разрешённый поток вместе с необходимыми параметрами.¤Проверить и создать сессию¦Клиент валидирует криптографию и claims, связывает ответ с запросом и только затем доверяет результату.¶@resources¶¶@related¶JWT¦/slovar-informacionnoy-bezopasnosti/identifikaciya-i-dostup/jwt¶@faq¶Можно ли отправлять ID Token в API?¦Обычно нет: API ожидает access token с нужной аудиторией и полномочиями.¤Нужно ли проверять подпись, если токен пришёл по TLS?¦Да. TLS защищает канал, а валидация токена подтверждает издателя, аудиторию, срок и целостность объекта.¤Зачем нужен nonce?¦Он связывает ответ с конкретным запросом клиента и помогает предотвращать повтор и подмену результата аутентификации.