在 WSO2 IS 中更改 AuthnRequest 中的 AssertionConsumerServiceURL
Change AssertionConsumerServiceURL in AuthnRequest in WSO2 IS
我从 WSO2 到我的 IdP 的 SAML 请求包含仍在 AuthnRequest 中的 AssertionConsumerServiceURL 中的端口。我是 运行 反向代理背后的系统,需要更改此 URL。
请帮忙,我在任何配置中都找不到它,谢谢
更改主机名:将 "MgtHostName" 值设置为您位于 repository/conf/carbon.xml
的主机名
要更改端口:将 proxyPort="443" 属性添加到 repository/conf/tomcat/catalina-server.xml
处的 HTTPS 连接器元素
在 repository/conf/identity/application-authentication.xml 中,您可以在 SAMLSSOAuthenticator 上设置 属性:
<AuthenticatorConfig name="SAMLSSOAuthenticator" enabled="true">
<Parameter name="SAMLSSOAssertionConsumerUrl">
https://sso.your-url.com/commonauth
</Parameter>
<Parameter name="VerifyAssertionValidityPeriod">true</Parameter>
<Parameter name="TimestampSkew">300</Parameter>
</AuthenticatorConfig>
这是WSO2-IS中构建authenticationRequest的相关代码:
String acsUrl = null;
AuthenticatorConfig authenticatorConfig =
FileBasedConfigurationBuilder.getInstance().getAuthenticatorConfigMap()
.get(SSOConstants.AUTHENTICATOR_NAME);
if (authenticatorConfig != null){
String tmpAcsUrl = authenticatorConfig.getParameterMap().get(SSOConstants.ServerConfig.SAML_SSO_ACS_URL);
if(StringUtils.isNotBlank(tmpAcsUrl)){
acsUrl = tmpAcsUrl;
}
}
if(acsUrl == null) {
acsUrl = IdentityUtil.getServerURL(FrameworkConstants.COMMONAUTH, true, true);
}
换句话说,它会检查此配置是否存在,否则它将根据主机名和 commonauth 端点设置创建它。
我从 WSO2 到我的 IdP 的 SAML 请求包含仍在 AuthnRequest 中的 AssertionConsumerServiceURL 中的端口。我是 运行 反向代理背后的系统,需要更改此 URL。
请帮忙,我在任何配置中都找不到它,谢谢
更改主机名:将 "MgtHostName" 值设置为您位于 repository/conf/carbon.xml
要更改端口:将 proxyPort="443" 属性添加到 repository/conf/tomcat/catalina-server.xml
在 repository/conf/identity/application-authentication.xml 中,您可以在 SAMLSSOAuthenticator 上设置 属性:
<AuthenticatorConfig name="SAMLSSOAuthenticator" enabled="true">
<Parameter name="SAMLSSOAssertionConsumerUrl">
https://sso.your-url.com/commonauth
</Parameter>
<Parameter name="VerifyAssertionValidityPeriod">true</Parameter>
<Parameter name="TimestampSkew">300</Parameter>
</AuthenticatorConfig>
这是WSO2-IS中构建authenticationRequest的相关代码:
String acsUrl = null;
AuthenticatorConfig authenticatorConfig =
FileBasedConfigurationBuilder.getInstance().getAuthenticatorConfigMap()
.get(SSOConstants.AUTHENTICATOR_NAME);
if (authenticatorConfig != null){
String tmpAcsUrl = authenticatorConfig.getParameterMap().get(SSOConstants.ServerConfig.SAML_SSO_ACS_URL);
if(StringUtils.isNotBlank(tmpAcsUrl)){
acsUrl = tmpAcsUrl;
}
}
if(acsUrl == null) {
acsUrl = IdentityUtil.getServerURL(FrameworkConstants.COMMONAUTH, true, true);
}
换句话说,它会检查此配置是否存在,否则它将根据主机名和 commonauth 端点设置创建它。