sidebarIdM実験室いろんなアイデンティティ管理系製品やサービスの実験の記録をしていきます。後は、関連するニュースなどを徒然と。Provider/SP)です。Appsをテスト用SPとして使ったりすることが多いのですが、もう少し簡単なアプリケーションが欲しいなぁ、、と思うことも多くオンプレの環境にはPHPアプリケーション用のPHPライブラリであるSimpleSAMLphpをセットアップしてあったりします。SPってぽっかり穴が空いています。WebアプリにSimpleSAMLphpをデプロイしてみます。考えることはみんな一緒で日本マイクロソフトの松崎さんも同じようなことを考えていらっしゃったようです。WebsiteにはうまくSimpleSAMLphpが導入できなかった様なのですが、現在は割と素直に導入できました。Webアプリ(WebSite)の作成ギャラリーから空のサイト(PHP)を選択し、Webサイトを作成します。以下のURLから最新のSimpleSAMLphpをダウンロードし、ローカルの任意のフォルダにtar.gzを展開します。WebアプリへのデプロイAzureへのデプロイ方法はFTPなど色々とありますが、今回は先ほどモジュールを展開でぃたフォルダをGitのローカルレポジトリに設定してデプロイしました。作成したWebアプリの「ソース管理の統合」メニューの「ソースコードの位置」で「ローカルGitレポジトリ」を選択します。ローカルのGitレポジトリを設定します。※Gitクライアントなどのセットアップ方法は省略します。Bashでモジュールを展開したフォルダへ移動し、以下を打ち込みます。masterこれでモジュールがAzure上にデプロイされました。◆仮想ディレクトリの設定デプロイしたモジュールへ外からアクセスするための仮想ディレクトリを設定します。SimpleSAMLphpでは/simplesamlという仮想ディレクトリに[展開先]/simplesamlphp/wwwをマッピングする必要がありますので、以下のような仮想ディレクトリを設定します。◆SimpleSAMLphpへのSP登録テスト用なのでデフォルトで登録されているSPを使います。SP設定は[展開先]/config/authsources.phpファイルに存在するので、ローカルで対象ファイルを編集します。ファイルの中に'default-sp'というブロックがあるので、その中を修正します。変更点は、以下の3点です。何でも構わないんですが、一般にSPのURLを設定するので、「http://samlsp1.azurewebsites.net」の様に設定しました。idp:ここは設定しなくても良いのですが、デフォルトで使うIdPとしてPingIdentityのPingOneを使いたかったので、PingOneの自分のテナントのURLを指定します。NameIDPolicy:SimpleSAMLphpは初期値でtransientが設定されるので、何が来ても良いようにNULLにしておきます。こんな感じで設定しました。NULL,ローカルでauthsources.phpを更新したので、GitでAzure上へデプロイしておきます。Webアプリの再起動をしておきましょう。今回はテスト用IdPとしてPingOneを指定しました。先にSimpleSAMLphpの管理ページにアクセスし、[連携]タブより登録したSPのメタデータを取得します。http://samlsp1.azurewebsites.net/simplesaml/という形でsamplesamlという名前で作成した仮想ディレクトリへアクセスするとSimpleSAMLphpの管理画面が開きますので、[連携]タブよりメタデータを表示を選択するとメタデータのURLが表示されるので、このURLをメモしておきます。後でこれをPingOneに設定するので。次にPingOneの管理コンソールにアクセスします。PingOne管理コンソールhttps://admin.pingone.com/この[Application]タブを開くとアプリケーションの追加が出来ます。Application]を選択しアプリケーション名、説明などを設定して行きます。Metadataの項目でIdP側のメタデータをダウンロードしておくことです。Assertionに含める属性とPingOneのレポジトリ内の属性とのマッピングを設定することも可能です。これでIdPの設定は終わりです。再度SimpleSAMLphpの管理画面を開き、[連携]メニューより[XMLをsimpleSAMLphpメタデータに変換]を選択し、先ほどダウンロードしたPingOneのIdPメタデータをSimpleSAMLphp用の設定ファイルへ変換します。メタデータパーサにダウンロードしたIdPメタデータを張り付けて[パース]をクリックするとSimpleSAMLphpに設定する内容が表示されます。Webアプリを再起動します。Assertionの中身を見えるようにしてみます。基本は松崎さんのblogに上がっているphpアプリケーションでモジュールのパスを変えただけです。これで、アプリケーションも含めすべての準備が整いました。アプリケーションにアクセスすると、PingOneのログイン画面が表示されるのでログインすると、アプリケーションが表示されます。設定もgitで管理できるので新しいIdPを作った際に少し修正して、戻して、、といったことが簡単に出来るようになります。よりアクセス解析を行っています。品質向上のみを目的とし、個人の特定などを目的とはしておりません。中で公開されることはあります。問い合わせ不明点等は管理人までご連絡ください。本プライバシーポリシーは予告なく変更/削除することがあります。プライバシーに関するトラブルについては一切の責任を負いかねますのでご了承ください。