In this option, you need to define new Java class and place that in customClasses\custom\beans folder. This option
Follow the steps below to create the custom class:
- Create a new Java class to implement the interface as shown below.
This interface provides the ability to define a custom implementation for providing the authenticated user information.
SAML SSO Authenticationpackage com.adeptia.indigo.security.saml; import java.util.Map; import org.springframework.security.core.Authentication; /** * This interface provides the ability to define a custom implementation for * providing the authenticated user information. * * The contract accepts the Authentication Object as an input which contains all * the information of authenticated user received as a part of SAML response. * The output delivered is the User's attributes and Target URL. * * @author Ranjit * */ public interface SAMLSSOAuthenticationUserDetails { /** * Prepare the {@link SubjectInfo} for the authenticated User * * @param authentication * Represents the token for an authentication request or for an * authenticated principal * * @return The authenticated Subject attributes : user, Group, associated * partner and associated role * */ public SubjectInfo getSubjectInfo(Authentication authentication); /** * The URL the SP should redirect the user once the SSO completes. * * Generally the relay state present into SAML message specify the URL to which * the user is to be redirected. * * @param authentication * Represents the token for an authentication request or for an * authenticated principal * * @return the relative URL fragment identifier( value after hash #) or the * complete absolute URL. The value assumed to be absolute URL if it * starts with http:// or https://, otherwise the value is considered as * Fragment identifier. */ public String getRedirectUrl(Authentication authentication); /** * The user attributes received as a part of SAML assertions. * * The user attributes Map to be returned should have Keys in String format and * values as Serializable objects. * * @param authentication * Represents the token for an authentication request or for an * authenticated principal * * @return the user attributes Map */ public Map<String, String> getAttributes(Authentication authentication); }
- Compile the above class and place it customClasses\custom\beans folder.
- Go to …<ConnectServerInstallFolder>\AdeptiaServer\ServerKernel\etc location.
- Open applicationConfig.xml file.
- Search for bean id 'samlSSOAuthenticationUserDetails' in the xml file.
- Update the class value with your own custom class Name.
Restart the Adeptia services to bring the changes into effect.