OpenAM 12.0.0
インストール準備†
- tomcat
yum -y install tomcat
/etc/tomcat/tomcat.conf
JAVA_OPTS="-Xmx1024m -XX:MaxPermSize=256m"
/etc/httpd/conf/httpd.conf
ProxyPass / ajp://localhost:8009/
service httpd restart
service tomcat start
OpenAM インストール†
install†
/etc/hosts
127.0.0.1 【FQDN】
mv OpenAM-12.0.0.war /var/lib/tomcat/webapps/openam.war
https://host.domain/openam
新しい設定の作成
手順3: cookie ドメインはtoplevelドメインを抜いたもの(https://ab.bc.de.net -> .bc.de.net)
手順4: OpenAM のユーザーデータストア
手順5: いいえ
手順6: amadmin とは違うパスワード
失敗したときは
rm -rf /usr/share/tomcat/openam
初期設定†
XUI を無効化†
[設定] -> [認証] -> [コア] -> XUI インターフェース チェックをはずす
セルフユーザ登録の有効化†
[設定] -> [グローバル] -> [REST セキュリティ]
ユーザーのための自己登録 | ON |
自己登録トークンの有効期間(秒) | 86400 |
自己登録確認メールのURL | (メールに記載される確認用アドレス) |
パスワードを忘れたユーザーのためのリセット | ON |
パスワードリセットトークンの有効期間(秒) | 86400 |
パスワードリセット確認電子メールURL | (メールに記載される確認用アドレス) |
Destination After Successful Self-Registration: | User is sent to the loginpage, to authenticate |
SMTP の設定†
[設定] -> [グローバル] -> [電子メールサービス]
OAuth2 設定†
[共通タスク] > 【OAuth2の設定】
リフレッシュトークンの有効期間(秒) | 86400 |
アクセストークンの有効期間(秒) | 86400 |
リフレッシュトークンの発行 | ON |
OAuth2 アプリ作成†
[アクセス制御] > 【最上位のレルム】 -> [エージェント] -> [OAuth2.0クライアント] -> [新規]
名前 | いわゆるclient_id |
パスワード | いわゆるclient_secret |
[最上位のレルム] -> [サービス] -> OAuth2 プロバイダ
issue refreshtokens on refreshing access tokens ON
その後、できたエントリをクリックして詳細設定を行う
スコープ | アプリ固有のスコープ |
表示する名称 | アプリ名称 |
表示する説明 | 説明 |
IDトークン署名応答アルゴリズム | HS256 |
realm†
realm を切ってそこにユーザを作成する
[アクセス制御] -> 【新規】
REST コマンド†
その他†
install-openam-agent†
すでにあるweb service と連携する場合は agent を入れるとそのままSSOできる
uninstall†
service tomcat stop
rm -rf /var/lib/tomcat/webapps/*
rm -rf /usr/share/tomcat/.openamcfg
rm -rf /usr/share/tomcat/openam
LDAPのバックアップとリストア†
インストール後に /usr/share/tomcat/openam 以下を丸ごとコピーすれば大丈夫だが、別のサーバに入れたい場合にはできない。
ユーザデータをLDAPレベルで抜き出して移植する方法
オリジナルサーバにて†
/usr/share/tomcat/openam/opends/bin/export-ldif \
--backendID userRoot \
--includeBranch ou=people,dc=openam,dc=forgerock,dc=org \
--excludeBranch ou=tokens,dc=openam,dc=forgerock,dc=org \
--ldifFile /tmp/all.ldif
cat /tmp/all.ldif | grep -v entryUUID | grep -v creatorsName | grep -v pwdChangedTime |grep -v createTimestamp |grep -v modifiersName | grep -v modifyTimestamp > /tmp/users.ldif
/tmp/users.ldif からさ遺書のエントリを消す(organizationalUnit)
移植先サーバにて†
cd /usr/share/tomcat/openam/opends/bin
./dsconfig -D "cn=Directory Manager" -w 【amadminのパスワード】 set-password-policy-prop --policy-name "Default Password Policy" --set allow-pre-encoded-passwords:true -X -n
./ldapmodify -a -p 50389 -D "cn=Directory Manager" -f /tmp/users.ldif
./dsconfig -D "cn=Directory Manager" -w 【amadminのパスワード】 set-password-policy-prop --policy-name "Default Password Policy" --set allow-pre-encoded-passwords:true -X -n