IdPとのSP接続確認
※接続確認に使用する IdP の設定変更も必要となります。設定変更は IdP の管理者に依頼して下さい。
1. SP にテスト用のWebページを準備
以下のような/var/www/html/secure/phpinfo.phpを作成します。
<?php phpinfo(); ?>
または、属性確認用の簡単なPHPプログラムをご利用下さい。 ダウンロード 説明
2. shibdとhttpdの再起動
接続確認前にshibdとhttpdを再起動します。
# systemctl restart shibd
# systemctl restart httpd
3. 構築したSPにアクセス
https://sp.example.ac.jp/secure/phpinfo.php
4. DSのIdP選択画面が表示
DSのIdP選択画面で、対象となるテストIdPを選択します。
※学認DSについての注意点:
一度選択したIdPが表示されている状態で、別のIdPを選択したい場合は、
「リセット」リンクをクリックすると選択可能な全てのIdPが表示されます。
5. ログイン
IDとPasswordを入力してログインします。
ID, パスワードを入力してログインした後、表示される環境変数に、IdPで公開するように設定した値
(LDAPに保存されている eduPersonPrincipalNameなど)が含まれていることを確認します。
これが、IdPから渡されたユーザの属性情報となります。
表示例)
phpinfoの場合
PHP Variables
variable | value |
_SERVER["unscoped-affiliation"] | faculty |
6. メタデータ署名検証が正常に機能していることの確認
shibboleth2.xmlに設定した取得するメタデータを改竄されたものに変更して、適切に署名検証が失敗することを確認してください。
shibboleth2.xmlの以下の部分を修正し、shibdを再起動してください。(元がgakunin-test-metadata.xmlの場合はgakunin-test-metadata-tampered.xmlに修正してください)
<MetadataProvider type="XML" uri="https://metadata.gakunin.nii.ac.jp/gakunin-metadata-tampered.xml"
メタデータの署名検証に失敗した場合には、SPのログファイル(/var/log/shibboleth/shibd_warn.log)に以下の様なメッセージが出力されます。
2012-08-30 14:45:07 WARN OpenSAML.MetadataFilter.Signature : filtering out group at root of instance after failed signature check: Unable to verify signature with supplied key(s).
ただし、検証に失敗しても、以前に検証にパスしたメタデータがバッキングファイルにあればそれを読み込んでSPは起動するのでご注意ください。バッキングファイルが存在しなければ、信頼するメタデータが無い状態で起動します(いずれのIdPに接続しようとしてもそのIdPのメタデータが見つからない旨エラーが表示されます)。
バッキングファイルは /var/cache/shibboleth/federation-metadata.xml にあります。
確認後は、元に戻すのを忘れないでください。