Как настроить подключение keycloak-(nodejs-) для использования PKCE?
У меня есть экспресс-приложение, с помощью которого я хочу защитить себя. Я не нашел никакой документации или примеров того, как настроить поток кода авторизации с PKCE в этом промежуточном программном обеспечении.
Я думаю, что я правильно настроил Keycloak (IDP), потому что проверка подлинности из приложения не выполняется из-за того, что промежуточное ПО не передает ни
code_challenge
ни
code_challenge_method
параметры, которые сервер авторизации отклоняет:
auth_callback
1
error
invalid_request
error_description
Missing parameter: code_challenge_method
state
b720bdf4-daf8-4aa7-8525-be02404396a6
Конфигурация промежуточного программного обеспечения:
{
realm: 'SomeRealm',
'auth-server-url': 'https://auth-server.url/auth/',
'ssl-required': 'all',
resource: 'Some-client-ID',
'public-client': true,
'confidential-port': 0,
}
Является
keycloak-connect
даже способный использовать этот поток?
1 ответ
keycloak-connect на данный момент не поддерживает PKCE.
См. Обсуждение, которое я нашел на https://keycloak.discourse.group/t/keycloak-connect-node-js-pkce/8285 Там кто-то предлагает переключиться на другую библиотеку, которая поддерживает PKCE (т.е. node-openid-client )
Что касается конфигурации сервера, я полагаю, вы следовали https://www.keycloak.org/docs/latest/server_admin/#advanced-settings и разделу о PKCE, так что все должно работать должным образом.