Настройте Keycloak для включения утверждения at_ha sh в токен id - PullRequest
0 голосов
/ 23 марта 2020

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

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

Справочная информация:

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

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

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

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

1 Ответ

1 голос
/ 24 марта 2020

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

...