Как настроить подключение 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, так что все должно работать должным образом.

Другие вопросы по тегам