Jetty Projectより、2025年1月にJetty 9.4からJetty 11がEOLになることがアナウンスされています。[1]
Jetty 11を利用されている機関においてはJetty 12への移行が必要となりますが、Shibboleth ProjectよりShibboleth V5 + Jetty 12ではポート 8443でのBack-Channelが利用できない旨がアナウンスされています。
Jetty 12移行後も旧来のSAML 1.1のSPと連携したい機関は下記いずれかの対応が必要となります。
SAML 2.0のSPのみと連携する機関においては対応の必要はありません。
includeAttributeStatement="true"
を設定するsignResponses="true"
を設定する本ドキュメントは、下記の移行を想定しています。
includeAttributeStatement="true"
を設定するSAML 2.0と同様に属性をFront-Channelに含めて送信するために、ShibbolethSSOプロファイルにincludeAttributeStatement="true"
を設定します。
<bean id="shibboleth.DefaultRelyingParty" parent="RelyingParty"> <property name="profileConfigurations"> <list> <!-- SAML 1.1 and SAML 2.0 AttributeQuery are disabled by default. --> <!-- --> - <bean parent="Shibboleth.SSO" p:postAuthenticationFlows="attribute-release" /> + <bean parent="Shibboleth.SSO" p:postAuthenticationFlows="attribute-release" p:includeAttributeStatement="true" /> <ref bean="SAML1.AttributeQuery" /> <ref bean="SAML1.ArtifactResolution" /> <!-- --> <bean parent="SAML2.SSO" p:postAuthenticationFlows="attribute-release" /> <ref bean="SAML2.ECP" /> <ref bean="SAML2.Logout" /> <!-- --> <ref bean="SAML2.AttributeQuery" /> <!-- --> <ref bean="SAML2.ArtifactResolution" /> </list> </property> </bean> |
Jetty 12で従来通りのポート 8443でBack-Channelを利用するために、Jetty 11向けのidp-jetty-baseから下記ファイルをコピーします。
下記の例では、idp-jetty-base-11.0.0-20240411.202708-115からコピーしています。
# cp -p /opt/idp-jetty-base-11.0.0-20240411.202708-115/modules/idp-backchannel.mod /opt/jetty-base/modules/idp-backchannel.mod # cp -p /opt/idp-jetty-base-11.0.0-20240411.202708-115/start.d/idp-backchannel.ini /opt/jetty-base/start.d/idp-backchannel.ini |
signResponses="true"
を設定する<AttributeService>
のLocation
属性からポート 8443を削除した上で、学認申請システムからテンプレート外メタデータとして変更申請を行います。<AttributeService Binding="urn:oasis:names:tc:SAML:1.0:bindings:SOAP-binding" - Location="https://idp.example.ac.jp:8443/idp/profile/SAML1/SOAP/AttributeQuery"/> + Location="https://idp.example.ac.jp/idp/profile/SAML1/SOAP/AttributeQuery"/> <AttributeService Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP" - Location="https://idp.example.ac.jp:8443/idp/profile/SAML2/SOAP/AttributeQuery"/> + Location="https://idp.example.ac.jp/idp/profile/SAML2/SOAP/AttributeQuery"/> <NameIDFormat>urn:mace:shibboleth:1.0:nameIdentifier</NameIDFormat> |
signResponses="true"
を設定します。<bean id="shibboleth.DefaultRelyingParty" parent="RelyingParty"> <property name="profileConfigurations"> <list> <!-- SAML 1.1 and SAML 2.0 AttributeQuery are disabled by default. --> <!-- --> <bean parent="Shibboleth.SSO" p:postAuthenticationFlows="attribute-release" /> - <ref bean="SAML1.AttributeQuery" /> + <bean parent="SAML1.AttributeQuery" p:signResponses="true" /> <ref bean="SAML1.ArtifactResolution" /> <!-- --> <bean parent="SAML2.SSO" p:postAuthenticationFlows="attribute-release" /> <ref bean="SAML2.ECP" /> <ref bean="SAML2.Logout" /> <!-- --> - <ref bean="SAML2.AttributeQuery" /> + <bean parent="SAML2.AttributeQuery" p:signResponses="true" /> <!-- --> <ref bean="SAML2.ArtifactResolution" /> </list> </property> </bean> |
signResponses="true"
が必要になると思われます。(未確認)