1. はじめに
本メニューでは、IdPをカスタマイズします。
IdPv3の組み込み機能を使って実現します。
送信属性の選択を有効にする設定や送信属性同意機能に表示する属性の設定などを行います。
2. 実習セミナーでは
以下の手順で作業を進めてください。
・relying-party.xmlの確認
/opt/shibboleth-idp/conf/relying-party.xmlに以下の設定が入っていることを確認してください。
...
<bean parent="Shibboleth.SSO" p:postAuthenticationFlows="attribute-release" />
...
<bean parent="SAML2.SSO" p:postAuthenticationFlows="attribute-release" />
...
・idp.propertiesの修正
/opt/shibboleth-idp/conf/idp.propertiesに同意確認の対象となる属性にチェックボックスを表示し
ユーザが選択できるように設定します。
この設定を行わなければ、デフォルト設定である確認のみの表示となります。
#idp.consent.allowPerAttribute = false
idp.consent.allowPerAttribute =
true
・consent-intercept-config.xmlの修正
/opt/shibboleth-idp/conf/intercept/consent-intercept-config.xmlに同意確認対象とする属性を設定します。
ここでは、デフォルト設定では表示されない「eduPersonTargetedID」を表示するようにします。
<util:list id="shibboleth.consent.attribute-release.BlacklistedAttributeIDs">
<value>transientId</value>
<value>persistentId</value>
<!--
<value>eduPersonTargetedID</value>
-->
</util:list>
※補足
<util:list id="shibboleth.consent.attribute-release.WhitelistedAttributeIDs">に
属性を設定すると、設定した属性のみが同意確認の対象となります。
・Tomcatの再起動
Tomcatを再起動して、更新した設定ファイルを読み込ませます。
# systemctl restart tomcat
3. 手順書
以下は、英語での情報が記載されたwiki.shibboleth.netのURLです。
手順の詳細にご興味がある方はご参照ください。
4. 動作確認
① 各自が使用するSPの接続確認用ページにアクセスします。
例)1番を割り振られた場合 https://ex-sp-test01.gakunin.nii.ac.jp/
② ログインボタンをクリックします。
③ DSの所属機関の選択画面が表示されるので、各自が使用するIdPを選択します。
④ IdPのログイン画面が表示されます。
⑤ Username/Passwordを入力して認証を行います。
⑥ 送信属性同意画面が表示されるので、 eduPersonTargetedID
が表示されている事と各属性に
チェックボックスが表示されていることを確認してください。
⑦ チェックを入れている属性値が正しく属性受信の確認ページに表示される事を確認してください。
※また組み込み機能をそのまま使用すると送信属性の同意情報がクライアント側(ブラウザのCookie)に
保存されるため、違うブラウザを使用したり、 Firefoxで言うCookieなど保存されないプライベート
ウィンドウを使用すると保存していても、再度同意画面が表示されてしまいます。
(違うブラウザなど違う場所からのアクセスやCookieを保持しないブラウザの場合、保存した同意情報が無効)
⑦まで確認ができたら、IEなど違うブラウザを使用するか、プライベートウィンドウで保存した情報が
有効にならない事を確認してください。