openssosampelsのスタンドアロン版サンプルクライアントで動作確認

2008/11/21:この記事にあるOpenSSOはかなり古いものです。最近のものを使う際の参考にはならないかもしれませんのでご注意ください。

昨日(id:t_yamo:20070412)までの作業でOpenSSOのサーバーが動作するので、それをサンプルクライアントで確認してみる。
同じく昨日(id:t_yamo:20070412)準備したopenssosamplesの中にLogin.classというスタンドアロン版サンプルクライアントが存在するので、それを使う。

  1. scriptsの親フォルダ(注:scriptsの中に入では駄目)をカレントフォルダにし、「scripts/Login.sh」を実行(実行権限がないときは付与)。まずは接続先について聞かれるので以下のように答えていく。
    • Realm (e.g. /):「/」もしくは「opensso
    • Login module name (e.g. DataStore or LDAP):「DataSotre」
  2. 正常に接続できた場合には「DataStore: Obtained login context」と表示され、認証するユーザについて聞かれるので以下のように答えていく。
    • User Name:「amAdmin」
    • Password:「password」
  3. 認証も成功した場合は「Login succeeded.」と表示される。ただ、すぐにログアウトする実装になっているので、同時に「Logged Out!!」も表示される。認証に失敗した場合には「Login failed.」とのみ表示される。


上記の「Realm」のところはSSOサーバーの管理画面の「Access Control」タブの「Realms」に設定されているアイテムを指定する。
「/」だとデフォルトになるっぽい。
インストール直後は「opensso」しかないので、「/」と「opensso」のどちらを指定しても同じっぽい。


上記の「Login module name」のところはSSOサーバーの当該Realm(上記のopenssoという名前をクリックしたところ)の「Authentication」タブの「Module Instances」に設定されているアイテムを指定する。
LDAPは用意していないのでファイルベースのDataStoreを選択している。


上記の認証のところは当該Realmの「Subjects」タブの「User」タブに設定したユーザを指定する。
ただし、これは設定によりけりなので後でLDAPやらJDBCやら経由でユーザを取得するようにした場合はそちらに存在するデータを指定することになる。
なお、「User」タブにユーザを追加すると「/home/tomcat5/opensso/idRepo/user」にファイルが生成される。
この「idRepo」の場所は当該Realmの「Data Sotres」タブの「files」の「Files Repository Directory」の値で決まるようだ。


うまく接続できない場合はopenssosamplesの中の「debug」(クライアント側)か「/home/tomcat5/opensso」の中の「debug」(サーバー側)を調べる。
なお、それぞれのAMConfig.propertiesの「com.iplanet.services.debug.level」を変更すればログレベルを変えられる。