2

外部 IdP で SAML を使用して SSO オプションを実装しています。ブラウザーの SSO ボタンをクリックした後に受信した SAML 応答を調べると、必要な認証データ (ユーザーの名前や電子メールなど) を確認できるため、IdP との通信は問題なく機能します。

ただし、Keycloakはログインを実行せず、「申し訳ありません...ログインがタイムアウトしました。もう一度ログインしてください。」というページが表示され、新しいユーザーは登録されません。私のレルムのトークンのログイン タイムアウトは 30 分に設定されています。

ログを見ると、次のエラーが見つかりました。

keycloak_1  | 00:38:27,888 ERROR [org.keycloak.broker.saml.SAMLEndpoint] (default task-26) Assertion expired.
keycloak_1  | 00:38:27,889 WARN  [org.keycloak.events] (default task-26) type=IDENTITY_PROVIDER_RESPONSE_ERROR, realmId=master, clientId=null, userId=null, ipAddress=172.20.0.1, error=invalid_saml_response

これは、IdP と SP の EntityID の不一致が原因である可能性があることがわかりましたが、IdP に連絡したところ、EntityID は同じです。

何が問題なのですか?

4

2 に答える 2

1

通常、SAML 応答は無効です。エンティティ ID の誤り、時間の誤り、署名/暗号化署名の誤りなど、何でもかまいません。

ソースコード参照

于 2020-03-23T11:30:57.383 に答える