SimpleSAMLphpでSAMLのSPを作る

★★★ Live配信告知 ★★★

Azureでクラウドネイティブな開発をするための方法について、世界一わかりみ深く説明致します!!複数回シリーズでお届けしている第7回目は、「どんと来いDocker」をテーマに、なかなかにわかりにくいDockerの概念を優しく紐解きます!!
【2021/10/28(木) 12:00〜13:00】

こんにちは。サイオステクノロジー技術部 武井です。

SAMLに対応したIdPをいじっていると、テスト用のSAML SPが欲しくなるときがあります。

そんなときサクッとSAML SP作れるのがSimpleSAMLphpです。SimpleSAMLphpによるSAML SPの作り方をここにメモっておきます。

PHPやApacheはインストールされていることを前提とします。

XMLのパーサーをインストールします。

simplesamlphpを以下URLよりダウンロードします。

https://simplesamlphp.org/download

解凍します。

とりあえず/var配下にコピーします。

SPの情報を設定します。/var/simplesamlphp/config/authsources.phpを以下のように修正します。

RelayStateはIdPで認証後に遷移するSPのURLです。entiryIDはSPのエンティティIDです。idpはIdPのエンティティIDです。

IdPのメタデータを作成します。simplesamlphpでは管理画面にて、IdPのメタデータをsimplesamlphp用のメタデータ形式に変換してあげる必要があります。

管理画面にアクセスするための、管理画面のパスワードを設定します。/var/simplesamlphp/config/config.phpを以下のように変更します。

次にsimplesamlphpの管理画面(以下URL参照)にアクセスします。


「連携」をクリックします。


「XML を SimpleSAMLphpメタデータに変換」をクリックします。


以下のいずれかの方法でIdPのメタデータをアップロードして下さい。
– 「XMLメタデータ」の下のテキストボックスにIdPのメタデータを貼り付けて「パース」をクリックする
– 「ファイルを選択」をクリックして、IdPのメタデータを選択し、「パース」をクリックする


変換結果が上記のように表示されます。「saml20-idp-remote」に表示されている内容をコピーして下さい。

/var/simplesamlphp/metadata/saml20-idp-remote.phpの末尾に、先ほどコピーした内容を貼り付けて保存します。

以上でSPの設定は終了です。

次は、SPのアプリを作成します。ApacheのDocument Rootが/var/www/htmlとします。/var/www/html/sp.phpを以下の内容で作成します。

Apacheの設定を変更します。/etc/httpsd/conf.d/simplesamlphp.confを以下の内容で作成します。

設定変更後、Apacheを再起動します。

上記のSPにアクセスすると、IdPにリダイレクトされて、認証が通れば、RelayStateで設定したURLにリダイレクトされるはずです。





ご覧いただきありがとうございます。
ブログの最新情報はSNSでも発信しております。
ぜひTwitterのフォロー&Facebookページにいいねをお願い致します!



>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!


ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。

Be the first to comment

Leave a Reply

Your email address will not be published.


*