Настройте Keycloak для включения утверждения at_hash в токен id

В настоящее время я использую Keycloak 9.0.0. При аутентификации с использованием потока кода и обмена этим кодом я получаю токен id без утверждения at_hash .

Как настроить Keycloak для включения утверждения at_hash в токен id?

Фон:

Я использую «классическую» серверную рендеринг (SSR) программу, конфиденциальный клиент. Я отправляю запросы на мой локальный http api. Но у меня также есть угловой клиент. SSR - это программа Go, использующая github.com/coreos/go-oidc. Отрендеренные страницы, требующие аутентификации, перенаправляют посетителя на keycloak и обратно через redirect_uri. Так как посетитель вошел в систему, его идентификатор присутствует в сеансе, и я также передаю токен доступа. Однако токен id не имеет утверждения at_hash и, следовательно, проверка токена доступа завершается неудачно.

У меня также есть мобильная веб-версия этого сайта на Angular, которая отправляет маркер доступа на предъявителя после входа в систему. Это приложение использует код потока + pcke.

Оба должны иметь возможность отправлять аутентифицированные запросы, но так как я использую практически единственную доступную клиентскую библиотеку oidc для Go, для подтверждения токенов доступа требуется утверждение at_hash , присутствующее в токене id. В настоящее время пакет не поддерживает конечную точку самоанализа.

И токен ID, и токен доступа возвращаются из IDP. Но ни один не имеет претензии at_hash .

Всего 1 ответ


Согласно at_hash является обязательным только при at_hash токена доступа. Убедитесь, что вы используете response_type=id_token token а не response_type=id_token .


Есть идеи?

10000