JPiereのSSO-SAMLのプラグインの動作検証をするために、KeyCloakの初期設定について調査及び研究しその成果をまとめています。
【なんでも研究日誌】KeyCloak23のインストール(Windows11) を参考にまずはKeyCloakをデプロイし起動して管理者ユーザーでログインして下さい。
【補足説明】iDempiere/JPiereのポート
KeyCloakが8080ポートを使用する都合上、iDempiere/JPiereはhttpポートは80番、httpsポートは443番を想定しています。
"master"となっているプルダウンのメニューをクリックして"Create realm"を押します。
Realm nameに"demo"と入力し"Create"を押します。
作成した"demo"のRealmを選択します。
あくまでも検証用なので、セキュリティーは度外視して、「Require SSL」を"None"に設定します。
「Create Client」をクリックすると下記のような画面になります。
- Client Type … SAML を選択して下さい。
- Client ID … idempiere と入力して下さい。
「Next」をクリックすると下記のようなログインに関係する設定を行う画面になります。
下記の設定は、iDempiere/JPiereのデモテナントであるOSS ERP SolutionsのテナントでSSOを行う想定の設定になります。
- Root URL … https://localhost/
- Home URL … 任意入力
- Valid redirect URIs … https://localhost/webui/saml.zul?client=oes
- Valid post logout redirect URIs … https://localhost/webui/saml.zul?client=oes
- IDP-Initiated SSO URL name … idempiere
- IDP Initiated SSO Relay State … 任意入力
- Master SAML Processing URL … https://localhost/webui/saml.zul?client=oes
Clientの全体設定
登録するとクライアントの全体的な設定確認&変更できます。下記はあくまでもサンプルの設定ですので適宜修正して下さい。
「Add user」をクリックスト、ユーザーの登録画面になります。
ユーザーを登録したら、「Credentials」のタブをクリックしてパスワードを設定します。
「Set password」を押すと下記のポップアップが表示されますので、パスワードを設定して、「Save」します。
確認のポップアップが表示されますので「Save password」を選択します。
SSO SAMLコンフィグ
ここまでの説明に記載されている通りに設定している場合、SAML Redirect URLには"http://localhost:8080/realms/demo/protocol/saml/clients/idempiere"と入力して下さい。
SAMLレスポンス署名公開鍵とSAML Assertion署名公開鍵
「SAMLレスポンス署名公開鍵」と「SAML Assertion署名公開鍵」はKeyCloakの下記の値を設定して下さい。
"demo"のRealmを選択して、Realm settings の Keys タブを押して下さい。
そして"RS256"の"Public key"を押して下さい。
表示されたPublic Keyをコピーして、「SAMLレスポンス署名公開鍵」と「SAML Assertion署名公開鍵」に貼り付けて下さい。※Public Keyは環境により異なります。
iDempiere/JPiereからKeyCloakにリダイレクトされます。
Usernameに"user01"と入力してPasswordに設定したパスワードを入力してSign Inして下さい。
成功するとiDempiere/JPiereにログインできます。