WSO2 SSO 总是重定向到 localhost:9443/samlsso

WSO2 SSO always redirects to localhost:9443/samlsso

我正在使用 WSO2 身份服务器(在端口 9443 上)和企业服务总线(ESB,在端口 9444 上)。我将 ESB 配置为使用 IS SSO。但每次我尝试登录 ESB 时,它都会将我重定向到 IS,然后将我重定向到 URL localhost:9443/samlsso.

我已经尝试在 identities.xml 和 carbon.xml 中更改这个 URL 而无需访问。

重定向地址在哪里设置?

在 carbon.xml 中,我将主机名指定为 "HostName" 和 "MgtHostName"。但 IS 仍然使用本地主机。

谢谢!

好的,我找到了解决方案。

我对 IS 和 ESB 包内的所有 XML 文档进行了搜索+替换,并将所有 "localhost" 替换为我的主机名。

在 identity.xml 中有一个 SSOService/IdentityProviderURL 标记,该标记对于 SAML 身份验证似乎很重要。

carbon.xml 文件夹下的 /repository/conf 文件。

<HostName>localhost</HostName> 更改为您的 IP。

<HostName>x.x.x.x</HostName>

WSO2 的脚本位于:
<IOTS_HOME>/scripts

运行
./change-ip.sh

Tip: The script will find and replace the IP address given in argument1 (localhost) with the IP address given as argument2 (10.10.10.14), in the necessary configuration files.

Check Docs to configure Hostname

SSO 配置应在 /repository/conf/security/authenticators.xml 中如下更改身份服务器 url 的重定向主机名,

<Authenticator name="SAML2SSOAuthenticator" disabled="false">
    <Priority>1</Priority>
    <Config>
        <Parameter name="LoginPage">/carbon/admin/login.jsp</Parameter>
        <Parameter name="ServiceProviderID">carbonServer</Parameter>
        <Parameter name="IdentityProviderSSOServiceURL">https://<HostNameOfIdentitiyServer>:9443/samlsso</Parameter>
        <Parameter name="NameIDPolicyFormat">urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</Parameter>
        <Parameter name="AssertionConsumerServiceURL">https://<HostNameOfIdentitiyServer>:9443/acs</Parameter>
     </Config>

在 system32/drivers/etc/hosts 中添加您的 VM 的 URL 并将其映射到本地主机。

更改主机文件并将 localhost 映射到您的虚拟机的 IP 地址,其中 WSO2 为 运行。