SimpleSAMLphpでSAMLのSPを作る

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

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/httpd/conf.d/simplesamlphp.confを以下の内容で作成します。

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

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

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

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

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

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

コメント投稿

メールアドレスは表示されません。


*