0
votes

I'm trying to create a completely custom external authenticator for WSO2 IS. The idea is this: 1. A service provider forwards the user to WSO2 IS with a SAML2 request (Inbound authentication configuration = SAML2 Web SSO Configuration). 2. The local authentication configuration for said service provider is my custom authenticator. 3. The custom authenticator redirects the user to an authentication service. 4. The user logs in. 5. The login service forwards the user back to the WSO2 IS custom authenticator (using the same URL as before "/samlsso".

The problem is that the parameters used and returned by the login service are completely proprietary, ie. not SAML2. However, WSO2IS expects a SAML2 request when accessing the custom authenticator.

How can I create a custom authenticator which uses completely proprietary paramters towards the login service, but normal SAML2 towards the service provider?

1

1 Answers

0
votes

In the step5, it should forward to the /commonauth endpoint. So, it will be identified the correct context from getContextIdentifier method in your authenticator.

You can use Facebook authenticator as an example [1]

[1] https://github.com/wso2/carbon-identity/blob/master/components/application-authenticators/org.wso2.carbon.identity.application.authenticator.social/src/main/java/org/wso2/carbon/identity/application/authenticator/social/facebook/FacebookAuthenticator.java