Hace poco un cliente me pedía revisara su configuración de SSO brindada por el WSO2 Identity Server 5.1.0 pues no le funcionaba al usar el WSO2 DAS 3.0.0.
El error se puede apreciar en la siguiente imagen:
En mi ambiente los offset de las herramientas son los siguientes:
Como ven se define el service provider ID, se ajusta el puerto del WSO2 IS a 9448 y el puerto del DAS a 9443 y eso es todo.
En el WSO2 IS, en mi caso estaba usando la versión 5.0.0, no era la misma del cliente, y los ajustes fueron los siguientes:
Me cree un service provider: carbonServerDAS
Y su configuración fue la siguiente:
Al probar el SSO me funcionaba perfectamente, mientras que al cliente no, así que asumí era un problema de la versión del WSO2 IS y su configuración.
Levanté el WSO2 IS 5.1.0 creando un service provider tal como se muestra a continuación:
Las opciones marcadas fueron las siguientes junto con la definición del endpoint del service provider:
Luego de esta configuración al tratar de autenticarme en el WSO2 DAS pude reproducir el error.
La solución dada la pueden ver en esta pregunta de stackoverflow.
Espero les sea de utilidad.
El error se puede apreciar en la siguiente imagen:
En mi ambiente los offset de las herramientas son los siguientes:
- WSO2 DAS: 0
- WSO2 IS: 5
<Authenticator name="SAML2SSOAuthenticator" disabled="false"> <Priority>10</Priority> <Config> <Parameter name="LoginPage">/carbon/admin/login.jsp</Parameter> <Parameter name="ServiceProviderID">carbonServerDAS</Parameter> <Parameter name="IdentityProviderSSOServiceURL">https://localhost:9448/samlsso</Parameter> <Parameter name="NameIDPolicyFormat">urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</Parameter> <Parameter name="AssertionConsumerServiceURL">https://localhost:9443/acs</Parameter> <!-- <Parameter name="IdPCertAlias">wso2carbon</Parameter> --> <!-- <Parameter name="ResponseSignatureValidationEnabled">false</Parameter> --> <!-- <Parameter name="LoginAttributeName"></Parameter> --> <!-- <Parameter name="RoleClaimAttribute"></Parameter> --> <!-- <Parameter name="AttributeValueSeparator">,</Parameter> --> <!-- <Parameter name="JITUserProvisioning">true</Parameter> --> <!-- <Parameter name="ProvisioningDefaultUserstore">PRIMARY</Parameter> --> <!-- <Parameter name="ProvisioningDefaultRole">admin</Parameter> --> <!-- <Parameter name="IsSuperAdminRoleRequired">true</Parameter> --> </Config> <!-- If this authenticator should skip any URI from authentication, specify it under "SkipAuthentication" <SkipAuthentication> <UrlContains></UrlContains> </SkipAuthentication> --> <!-- If this authenticator should skip any URI from session validation, specify it under "SkipAuthentication <SkipSessionValidation> <UrlContains></UrlContains> </SkipSessionValidation> --> </Authenticator>
Como ven se define el service provider ID, se ajusta el puerto del WSO2 IS a 9448 y el puerto del DAS a 9443 y eso es todo.
En el WSO2 IS, en mi caso estaba usando la versión 5.0.0, no era la misma del cliente, y los ajustes fueron los siguientes:
Me cree un service provider: carbonServerDAS
Y su configuración fue la siguiente:
Al probar el SSO me funcionaba perfectamente, mientras que al cliente no, así que asumí era un problema de la versión del WSO2 IS y su configuración.
Levanté el WSO2 IS 5.1.0 creando un service provider tal como se muestra a continuación:
Las opciones marcadas fueron las siguientes junto con la definición del endpoint del service provider:
Luego de esta configuración al tratar de autenticarme en el WSO2 DAS pude reproducir el error.
La solución dada la pueden ver en esta pregunta de stackoverflow.
Espero les sea de utilidad.
WSO2 SSO: IS + DAS.