Package org.forgerock.am.saml2.impl
Class Saml2SsoResponseUtils
- java.lang.Object
-
- org.forgerock.am.saml2.impl.Saml2SsoResponseUtils
-
public class Saml2SsoResponseUtils extends Object
Utility methods for working with SAML2 SSO responses.- Since:
- AM 7.0.0
-
-
Constructor Summary
Constructors Constructor Description Saml2SsoResponseUtils(com.sun.identity.saml2.meta.SAML2MetaManager metaManager, org.forgerock.openam.identity.idm.IdentityUtils identityUtils)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Saml2SsoResult
getSsoResultWithoutLocalLogin(Realm realm, String spEntityId, String idpEntityId, Subject subject, Assertion assertion, String storageKey)
Processes the received SAML2 response, without triggering local authentication.void
linkAccounts(String nameIdInfo, String universalId)
Sets up a persistent link between the federated account and the local user.Map<String,Set<String>>
mapSamlAttributes(Realm realm, String spEntityId, String idpEntityId, Saml2SsoResult ssoResult, Assertion assertion)
Maps the SAML2 attributes from the assertion to local attribute values.Saml2ResponseData
readSaml2ResponseData(String storageKey)
Reads the SAML2 response data from the SAML SFO.void
removeSaml2ResponseData(String storageKey)
Removes the data associated with the specified key from the SAML Failover store.
-
-
-
Constructor Detail
-
Saml2SsoResponseUtils
@Inject public Saml2SsoResponseUtils(com.sun.identity.saml2.meta.SAML2MetaManager metaManager, org.forgerock.openam.identity.idm.IdentityUtils identityUtils)
Constructor.- Parameters:
metaManager
- The SAML2 metadata manager.identityUtils
- The identity utilities.
-
-
Method Detail
-
readSaml2ResponseData
public Saml2ResponseData readSaml2ResponseData(String storageKey) throws org.forgerock.openam.federation.saml2.SAML2TokenRepositoryException
Reads the SAML2 response data from the SAML SFO.- Parameters:
storageKey
- The storage key used for the lookup.- Returns:
- The SAML2 response data. May be null, if the response data could not be found.
- Throws:
org.forgerock.openam.federation.saml2.SAML2TokenRepositoryException
- If there was an issue while retrieving the object from SAML SFO.
-
removeSaml2ResponseData
public void removeSaml2ResponseData(String storageKey) throws org.forgerock.openam.federation.saml2.SAML2TokenRepositoryException
Removes the data associated with the specified key from the SAML Failover store.- Parameters:
storageKey
- The storage key used for the lookup.- Throws:
org.forgerock.openam.federation.saml2.SAML2TokenRepositoryException
- If there was an issue in deleting the object from the store.
-
getSsoResultWithoutLocalLogin
public Saml2SsoResult getSsoResultWithoutLocalLogin(Realm realm, String spEntityId, String idpEntityId, Subject subject, Assertion assertion, String storageKey) throws SAML2Exception
Processes the received SAML2 response, without triggering local authentication.- Parameters:
realm
- The realm the service provider belongs to.spEntityId
- The service provider's entity ID.idpEntityId
- The identity provider's entity ID.subject
- The Assertion's subject.assertion
- The SAML2 assertion.storageKey
- The storage key used for cache operations.- Returns:
- The SAML2 SSO authentication result.
- Throws:
SAML2Exception
- If there was an error while processing the SAML assertion.
-
mapSamlAttributes
public Map<String,Set<String>> mapSamlAttributes(Realm realm, String spEntityId, String idpEntityId, Saml2SsoResult ssoResult, Assertion assertion) throws SAML2Exception
Maps the SAML2 attributes from the assertion to local attribute values.- Parameters:
realm
- The realm the service provider belongs to.spEntityId
- The service provider's entity ID.idpEntityId
- The identity provider's entity ID.ssoResult
- The SAML2 SSO authentication's result.assertion
- The SAML2 assertion.- Returns:
- The mapped SAML2 attributes.
- Throws:
SAML2Exception
- If there was an issue while mapping the attributes.
-
linkAccounts
public void linkAccounts(String nameIdInfo, String universalId) throws SAML2Exception
Sets up a persistent link between the federated account and the local user.- Parameters:
nameIdInfo
- The NameID received by the local service provider.universalId
- The universal Id of the user.- Throws:
SAML2Exception
- If there was an issue while persisting the account link.
-
-