I have created a custom authentication flow to authenticate using an external provider. As per my understanding, here is the flow of execution.
CustomAuthenticationHandler(extendingDefaultAuthenticationFeedbackHandler& implementingAuthenticationHandler,AuthenticationFeedbackHandler): this extracts the credentials and calls the appropriate login module using JAAS configuration.- CustomLoginModule (extending
AbstractLoginModule). This calls the identity provider, assigns additional groups optionally. - CustomIdentityProvider (implementing
ExternalIdentityProvider): This is where authentication should happen by calling the auth API of my external provider.
The authentication is working fine, I mean
1 > 2 > 3 is working fine and I am able to call API and authenticate the user.
I am getting user information from API in (3) and I am passing it to (2) thru CustomUser (extending ExtenalUser).
My problem is I am unable to pass the user info from (2) to (1). I need this information in further processing of request, to display on UI.
How can I pass this data from (2) to (1) ?
What I have tried so far?
I have created a AuthInfo object and call setInfoInfo object of LoginModule class. It is not working. None ofthe custom params I set in the authInfo are available in the
public boolean authenticationSucceeded(HttpServletRequest request,
HttpServletResponse response, AuthenticationInfo authInfo)
that I have over written in CustomAuthenticationHandler class. How can I get my custom params in CustomAuthenticationHandler?