ShibbolethにおけるSLOの設定方法を記載します。
前提
IdP/SPはそれぞれ以下のバージョンであることを前提とします。
- IdP: 3.2.1
- SP : 2.6.0
IdPの設定
メタデータへ<SingleLogoutService>を追加
IdP のメタデータに<IDPSSODescriptor>の子要素として<SingleLogoutService>を追加します。 LocationのIdPのホスト名部分は適宜読み替え適切に設定して下さい。IdPが特殊な設定でなければ、ホスト名部分のみ合わせれば問題ありません。
パネル |
---|
</ds:KeyInfo> </KeyDescriptor> <SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://IdPのホスト名/idp/profile/SAML2/POST/SLO"/> ← 追加 <SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https:// <NameIDFormat>urn:mace:shibboleth:1.0:nameIdentifier</NameIDFormat> <NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat> <SingleSignOnService Binding="urn:mace:shibboleth:1.0:profiles:AuthnRequest" Location="https://IdPのホスト名/idp/profile/Shibboleth/SSO"/> <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https:// <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https:// </IDPSSODescriptor> |
注意 |
---|
|
idp.propertiesの変更
idp.propertiesの以下の箇所を変更します。
パネル | ||
---|---|---|
| ||
|
SPの設定
shibboleth2.xmlの設定
shibboleth2.xmlのSessions要素内のLogout要素に以下のように"SAML2"が設定されている必要があります。デフォルト設定ですので、変更していない場合は追加設定は不要です。"SAML2"の部分が削除されている場合は追加してください。
パネル |
---|
|
メタデータへ<SingleLogoutService>を追加
SP のメタデータに<SPSSODescriptor>の子要素として<SingleLogoutService>を追加します。 LocationのSPのホスト名部分は適宜読み替え適切に設定して下さい。IdPが特殊な設定でなければ、ホスト名部分のみ合わせれば問題ありませ ん。
パネル |
---|
|
注意 |
---|
|
SLOの実行
SP-initiatedのSLO
ログインしているSPの次のURLにアクセスすることで、接続しているIdP、及びIdPとの間に認証セッションが確立している全てのSPからログアウトします。
パネル |
---|
https://SPのホスト名/Shibboleth.sso/Logout |
この操作によりIdPからログアウトするためには、前述したIdPのメタデータへの<SingleLogoutService>の追加が必要です。
また、他のSPからログアウトするためには、そのSP側で、前述したSPのメタデータへの<SingleLogoutService>の追加が実施されている必要があります。
IdP-initiatedのSLO
ログインしているIdPの次のURLにアクセスすることで、アクセスしたIdP、及びIdPとの間に認証セッションが確立している全てのSPからログアウトします。
パネル |
---|
https://IdPのホスト名/idp/profile/Logout |
この操作によりSPからログアウトするためには、SP側で、前述したSPのメタデータへの<SingleLogoutService>の追加が実施されている必要があります。
注意 |
---|
IdP 3.2.1時点では上記操作実行後Webブラウザが次のエラーメッセージを表示する画面へ遷移し、SPからのログアウトが実施されません。(IdPからはログアウトされています) 本件はIdP 3.3.0リリースで修正される予定です。 Web Login Service - Uncaught ExceptionA software error was encountered that prevents normal operation: java.lang.IllegalStateException: Exception occurred rendering view org.springframework.web.servlet.view.velocity.VelocityView: name 'logout'; URL [logout.vm] Please report this problem to your Help Desk or administrative staff. It has also been logged for an administrator to review. |
参考:
...