Keycloak «проверить подпись» не удается с G Suite SAML - PullRequest
0 голосов
/ 01 мая 2019

Я использую Keycloak 5.0.0 в качестве брокера идентификации. Я подключил его к G Suite в качестве приложения SAML. Я подключил другие приложения SAML к G Suite, так что я знаю детали, и я импортировал XML метаданных G Suite в SAML, поэтому я уверен, что ключи X.509 верны, но по какой-то причине, если я выбрал «Проверить подпись» «В Keycloak проверка не пройдена. В журнале написано

ERROR [org.keycloak.broker.saml.SAMLEndpoint] validation failed
WARN  [org.keycloak.events] type=IDENTITY_PROVIDER_RESPONSE_ERROR, realmId=master, clientId=null, userId=null, ipAddress=10.10.2.1, error=invalid_signature

Если я отключу «Подписанный ответ» в G Suite или отключу «Требовать подписи утверждений» или «Проверить подпись» в Keycloak, то все работает, но я ожидаю, что это потому, что Keycloak не пытается проверить подпись в этих ситуациях (что, конечно, является еще одной ошибкой, когда «Требуются подписи утверждений» и «Проверить подпись» включены, но «Подписанный ответ» выключен).

Как мне это исправить?

1 Ответ

0 голосов
/ 01 мая 2019

Оказывается, я ошибся в значении «Подписанный ответ». В соответствии с документацией G Suite о настройке определенных поддерживаемых приложений SAML, но не найденной в документации «Настройка собственного пользовательского приложения SAML», «Подписанный ответ» не означает, что я думал, что он имел в виду.

Если флажок Подписанный ответ не установлен, подписывается только утверждение. Если флажок Подписанный ответ установлен, весь ответ будет подписан.

Я проверил (изменив ключ X.509 и наблюдая за результатами), что при отсутствии отметки «Подписанный ответ» и включенных «Требуются подписи подтверждений» и «Подтвердить подпись» Keycloak проверяет, что утверждения подписаны. Так что это правильная, действительная и безопасная конфигурация.

...