LoginSignup
0
1

More than 5 years have passed since last update.

OpenAMからOpenAMにFederationする

Posted at

※注意※

ちょっとうまく動作しませんでしたので、途中までしかできていません。
時間取れたら更新します。すみません。

今日やること

タイトルだけじゃよくわからないですね。
今日は昨日やったソーシャルログインの応用で、OpenAM同士を連携させようと思います。

イメージは以下のような感じです。

001.jpg

昨日はソーシャルログインはあまりうちでは使わないなぁみたいなことを言ってました。ただ、ふと思い立ってこういうことが出来るのではないかなぁと思ったので、やってみようと思います。
グループ企業向けに公開するアプリ向けとかに使えそう。

会社B側のOpenAMをもう1つセットアップする

Advent Calendarの1日目を見ながら、以下のパラメータでセットアップしました。

  • FQDN
    • exiam.example.com

会社B側のOpenAMにユーザーを追加する

下記のユーザーを作ります。

key value
ID exiamuser
user
exiam
フルネーム exiam user
パスワード password
ユーザー状態 アクティブ

以下のような感じです。

005.JPG

会社B側をOpenID Providerにする

Advent Calendarの9日目を見ながら、セットアップしたOpenAMをOpenID Providerにします。

会社B側のOpenAMにクライアント登録する

Advent Calendarの10日目を見ながら以下のパラメータでクライアント登録をします。

key value
client id externalidentityprovider
client secret password
redirect uri https://iam.example.com:443/openam/oauth2c/OAuthProxy.jsp
scope openid email profile

会社A側にソーシャルログインの設定をする

OpenAMの管理者アカウント(ユーザー名はamadmin)でサインインします。

Dashboard => Social Authentication Configuration => Configura Other Authenticationをクリックします。

設定フォームが表示されるので、下記のパラメータで設定を行います。

key value desc
OpenID Discovery URL https://exiam.example.com:443/openam/oauth2/.well-known/openid-configuration 会社B側のIAMのDiscovery URL
Provider Name External IAM ディスプレイネーム
Image URL/Path /openam/ZUI/images/logs/exiam.jpg ログイン画面に表示するアイコン
Client ID externalidentityprovider 会社B側に登録したclient id
Client Secret password 会社B側に登録したclient secret
Redirect URL https://iam.example.com:443/openam/oauth2c/OAuthProxy.jsp コールバックURL

こんなかんじです。

004.JPG

確認

ここまで設定が完了すると、会社A側のIAMのサインイン画面に会社BのIAMでサインインみたいなリンクが表示されます。

007.JPG

良い感じに動いてそうですが、現状ではB社のリンクをクリックすると、B社のIAMのサインイン画面が表示されず、エラーとなってしまいます。

008.JPG

通常のOpenID Connectのフローが行われているのであれば、認証前なのでJWTはまだ発行されていないと思うんですが、JWTの署名が不正...?リクエストを追ってみないとわからないですね。

今日は全然時間取れませんでした。すみません。
本件はちゃんとdebugして動かしたいと思います。また更新します。

ん~、なりゆきで書く内容を決めると大変ですね...。
明日は何しよう~?

ばい!

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1