2012.10.16

OpenAM を使った認証

Add Authentication to a Website using OpenAM
この本家サイトを見て、だいたいできた。

これまで OpenAM に、Google Apps や Facebook のアカウントでログインできるようにしていた。
OpenAM にログインできることは、それだけじゃ全く意味がない。

その認証を使って、Webアプリにログインして、やっとシングルサインオンになる。
OpenAM の存在を気にしなければ、Facebook アカウントで Webアプリにログインしているように見えるわけだ。

重要なのは、3. OpenAM Server Configuration, 4. Web Server Configuration の章。

OpenAM Downloadのページから、Web Policy Agents をダウンロードする。
3.0.4 と 3.0.5 の両方試してみたけど、両方エラーになった。

サイトのとおりに、エージェントとポリシーを作成してから、
Apache2 を一度止めて、Web Policy Agents をインストールする。

そして Apache2 を起動すれば終わりなのだが、起動しなかったのだ。
3.0.4 のほうは、libamapc2.so: undefined symbol: ap_run_http_method
3.0.5 のほうは、libamapc2.so: undefined symbol: timer_create

ググって解決法を探してみたところ、3.0.4のほうのエラーは、
Apache2.2だと出るらしく、Apache2.0だと大丈夫らしいことがわかった。
3.0.5 のほうは全く情報がなかったので、3.0.4 のほうでトライすることにした。

Ubuntu で普通にインストールすると apache2_2.2 がインストールされてしまうので、
Apache のサイトからソースを落としてきて、コンパイルした。
./configure, make, make install ですんなりインストールできた。

$ sudo /usr/local/apache2/bin/apachectl stop

$ cd web_agents/apache_agent/bin
$ sudo ./agentadmin –install

サイトに書いてあるとおり、
・ /usr/local/apache2/conf
・ OpenAM のURL (http://openam.no.url:8080/openam_10.0.0)
・ Apacheで動かすWebサイト (http://apache.no.url)
・ /var/tmp/passwd
らへんを入力して、最後に 1 でインストールされる。

$ sudo /usr/local/apache2/bin/apachectl start

で、ApacheのWebサイトにアクセスしたら、OpenAM にリダイレクトされた!!

そして amadmin でログインしたら、Apache のデフォルト画面にリダイレクトされた!!
ここでホントは amadmin じゃなくて、Google Apps や Facebook のアカウントでログインすればいいはず。

なるほどねー。


2012.10.16, 00:23 / OpenAM
OpenAM を使った認証 はコメントを受け付けていません。

Comments are closed.