やりたいこと
こんなことをしたときに、
こんなことがありました。
- PEM import not working properly on SAML Signing keys config · Issue #39094 · keycloak/keycloak
- Bug: SAML Client Signing Certificate Not Stored via Admin Console (26.1.3) · keycloak/keycloak · Discussion #39232
Bug: SAML Client Signing Certificate Not Stored via Admin Console (26.1.3) · keycloak/keycloak · Discussion #39232 にワークアラウンドが記載されていたので試す。
前提
Spring Boot で SAML 認証をする(署名無しバージョン) - mikoto2000 の日記 を実施済み。
やったこと
myrealmの適切なユーザーにロールadminを割り当てる(今回はmikotoユーザーにadminロールを割り当てた)keycloak が起動しているコンテナに接続
docker exec -it f29b1a6f3f70 bashkcadm.shにパスを通すexport PATH=$PATH:/opt/keycloak/bin/mikotoでmyrealmにログインkcadm.sh config credentials --server http://localhost:8080 --realm master --user mikoto --password <PASSWORD>クライアント
saml-spの id を確認- JSON から頑張って探す
- 今回は
dafe91db-651f-4728-90f0-0faf2228fa38だった
kcadm.sh get clients --server http://localhost:8080 --realm myrealmsaml-spにクライアント証明書を設定MIID...(略)の部分をクライアント証明書の文字列に置き換える
kcadm.sh update clients/dafe91db-651f-4728-90f0-0faf2228fa38 --server http://localhost:8080 --realm myrealm -s 'attributes={"saml.signing.certificate": "MIID...(略)"}'適用されたかの確認
saml.signing.certificateが更新されていれば OK.
kcadm.sh get clients/dafe91db-651f-4728-90f0-0faf2228fa38 --server http://localhost:8080 --realm myrealm
動作確認
Keycloak の myrealm -> Clients ->
saml-sp -> Keys ->
Signing keys config ->
Client signeture required を On にしても、
Spring Boot の SAML 認証が通るようになった。 OK.
0 件のコメント:
コメントを投稿