...
メタデータへ<SingleLogoutService>を追加
IdP のメタデータに<IdPSSODescriptor>の子要素として<SingleLogoutService>を追加します。以下は学認のテンプレート通りのメタデータに追加した場合の例です。Locationのホスト名部分のメタデータに<IDPSSODescriptor>の子要素として<SingleLogoutService>を追加します。以下は学認のテンプレート通りのメタデータに追加した場合の例です。Locationのホスト名部分(idp.example.ac.jp)は適宜読み替えて下さい。IdPが特殊な設定でなければ、ホスト名部分のみ合わせれば問題ありません。
コード ブロック | ||||
---|---|---|---|---|
| ||||
<!-- (省略) --> </ds:X509Certificate> </ds:X509Data> </ds:KeyInfo> </KeyDescriptor> <!-- ↓↓↓ ここから追加 ↓↓↓ --> <SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://idp.example.ac.jp/idp/profile/SAML2/Redirect/SLO" /> <SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://idp.example.ac.jp/idp/profile/SAML2/POST/SLO" /> <!-- ↑↑↑ ここまで追加 ↑↑↑ --> <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.example.ac.jp/idp/profile/Shibboleth/SSO"/> <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://idp.example.ac.jp/idp/profile/SAML2/POST/SSO"/> <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://idp.example.ac.jp/idp/profile/SAML2/Redirect/SSO"/> </IDPSSODescriptor> <AttributeAuthorityDescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:1.1:protocol urn:oasis:names:tc:SAML:2.0:protocol"> <!-- (省略) --> |
注意 |
---|
<SingleLogoutService>とその前後の要素は並び順が決まっていますので注意してください。下記の順番となるように<SingleLogoutService>を追加してください。メタデータ内の要素は並び順が決まっているものがありますので注意してください。特に<IDPSSODescriptor>の子要素については下記の順番となるように<SingleLogoutService>を挿入してください。
|
不足している設定の確認
IdPで2.4.0より前のバージョンで使用していた設定を引き継いでいる場合、設定が不足している場合があります。不足している設定があった場合は追加してください。0より前のバージョンで使用していた設定を引き継いでいる場合、設定が不足している場合があります。以下を確認し、不足している設定があった場合は適宜追加してください。挿入位置はIdPインストールパッケージを展開したディレクトリの src/installer/resources/conf-tmpl/
以下にある同名テンプレートファイルを参考にしてください。(執筆時点でrelying-party.xmlについては SAML2ArtifactResolutionProfile の後、handler.xmlについては SAML2ECP の後になります。)
relying-party.xml
<DefaultRelyingParty>要素に以下が設定されていることコード ブロック xml xml <ProfileConfiguration<rp:ProfileConfiguration xsi:type="saml:SAML2LogoutRequestProfile" signResponses="conditional"/>
注意 rp:
の部分は同ファイルの他の記述に合わせてください。rp:
を削除しないとエラーになる場合があります。handler.xml
以下が設定されていることコード ブロック xml xml <ProfileHandler<ph:ProfileHandler xsi:type="ph:SAML2SLO" inboundBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" outboundBindingEnumeration="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact"> <RequestPath><ph:RequestPath>/SAML2/Redirect/SLO</ph:RequestPath> </ph:ProfileHandler> <ProfileHandler<ph:ProfileHandler xsi:type="ph:SAML2SLO" inboundBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" outboundBindingEnumeration="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact"> <RequestPath><ph:RequestPath>/SAML2/POST/SLO</ph:RequestPath> </ph:ProfileHandler> <ProfileHandler<ph:ProfileHandler xsi:type="ph:SAML2SLO" inboundBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign" outboundBindingEnumeration="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact"> <RequestPath><ph:RequestPath>/SAML2/POST-SimpleSign/SLO</ph:RequestPath> </ph:ProfileHandler> <ProfileHandler<ph:ProfileHandler xsi:type="ph:SAML2SLO" inboundBinding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP" outboundBindingEnumeration="urn:oasis:names:tc:SAML:2.0:bindings:SOAP"> <RequestPath><ph:RequestPath>/SAML2/SOAP/SLO</ph:RequestPath> </ph:ProfileHandler> <ProfileHandler<ph:ProfileHandler xsi:type="ph:SAML2SLO" inboundBinding="urn:mace:shibboleth:2.0:profiles:LocalLogout"> <RequestPath><ph:RequestPath>/Logout</ph:RequestPath> </ph:ProfileHandler>
注意 ph:
の部分は同ファイルの他の記述に合わせてください。ph:
を全て削除しないとエラーになる場合があります。
SPの設定
shibboleth2.xmlのSession要素内のLogout要素に以下のようにxmlのSessions要素内のLogout要素に以下のように"SAML2"が設定されている必要があります。デフォルト設定ですので、変更していない場合は追加設定は不要です。"SAML2"の部分が削除されている場合は追加してください。
...