Class ProviderLoginSupportImpl
- java.lang.Object
-
- org.craftercms.security.social.impl.ProviderLoginSupportImpl
-
- All Implemented Interfaces:
ProviderLoginSupport
public class ProviderLoginSupportImpl extends Object implements ProviderLoginSupport
Default implementation ofProviderLoginSupport. Oncomplete(String, String, HttpServletRequest), if the user data of the provider connection corresponds to an existing Crafter Profile user, the profile connection data will be updated. If a profile doesn't exist, a new one with the connection data will be created. In both cases, the user is automatically authenticated with Crafter Profile.- Author:
- avasquez
-
-
Field Summary
Fields Modifier and Type Field Description protected AuthenticationManagerauthenticationManagerprotected org.springframework.social.connect.ConnectionFactoryLocatorconnectionFactoryLocatorprotected org.springframework.social.connect.web.ConnectSupportconnectSupportstatic StringPARAM_CODEstatic StringPARAM_ERRORstatic StringPARAM_ERROR_DESCRIPTIONstatic StringPARAM_ERROR_URIstatic StringPARAM_OAUTH_TOKENprotected ProfileServiceprofileServiceprotected org.craftercms.commons.crypto.TextEncryptortextEncryptor
-
Constructor Summary
Constructors Constructor Description ProviderLoginSupportImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Authenticationcomplete(String tenant, String providerId, javax.servlet.http.HttpServletRequest request)Completes the OAuth authentication, returning the resultingAuthenticationobject, or null if it couldn't be completed.Authenticationcomplete(String tenant, String providerId, javax.servlet.http.HttpServletRequest request, Set<String> newUserRoles, Map<String,Object> newUserAttributes)Completes the OAuth authentication, returning the resultingAuthenticationobject, or null if it couldn't be completed.Authenticationcomplete(String tenant, String providerId, javax.servlet.http.HttpServletRequest request, Set<String> newUserRoles, Map<String,Object> newUserAttributes, org.springframework.social.connect.web.ConnectSupport connectSupport)Completes the OAuth authentication, returning the resultingAuthenticationobject, or null if it couldn't be completed.protected org.springframework.social.connect.Connection<?>completeConnection(org.springframework.social.connect.web.ConnectSupport connectSupport, String providerId, javax.servlet.http.HttpServletRequest request)protected ProfilecreateProfile(String tenant, org.springframework.social.connect.Connection<?> connection, Profile userData)protected org.springframework.social.connect.ConnectionFactory<?>getConnectionFactory(String providerId)protected ProfilegetProfile(String tenant, Profile userData)voidsetAuthenticationManager(AuthenticationManager authenticationManager)voidsetConnectionFactoryLocator(org.springframework.social.connect.ConnectionFactoryLocator connectionFactoryLocator)voidsetConnectSupport(org.springframework.social.connect.web.ConnectSupport connectSupport)voidsetProfileService(ProfileService profileService)voidsetTextEncryptor(org.craftercms.commons.crypto.TextEncryptor textEncryptor)Stringstart(String tenant, String providerId, javax.servlet.http.HttpServletRequest request)Starts the OAuth login process.Stringstart(String tenant, String providerId, javax.servlet.http.HttpServletRequest request, org.springframework.util.MultiValueMap<String,String> additionalUrlParams)Starts the OAuth login process.Stringstart(String tenant, String providerId, javax.servlet.http.HttpServletRequest request, org.springframework.util.MultiValueMap<String,String> additionalUrlParams, org.springframework.social.connect.web.ConnectSupport connectSupport)Starts the OAuth login process.protected ProfileupdateProfileConnectionData(String tenant, org.springframework.social.connect.Connection<?> connection, Profile profile)
-
-
-
Field Detail
-
PARAM_OAUTH_TOKEN
public static final String PARAM_OAUTH_TOKEN
- See Also:
- Constant Field Values
-
PARAM_CODE
public static final String PARAM_CODE
- See Also:
- Constant Field Values
-
PARAM_ERROR
public static final String PARAM_ERROR
- See Also:
- Constant Field Values
-
PARAM_ERROR_DESCRIPTION
public static final String PARAM_ERROR_DESCRIPTION
- See Also:
- Constant Field Values
-
PARAM_ERROR_URI
public static final String PARAM_ERROR_URI
- See Also:
- Constant Field Values
-
connectSupport
protected org.springframework.social.connect.web.ConnectSupport connectSupport
-
connectionFactoryLocator
protected org.springframework.social.connect.ConnectionFactoryLocator connectionFactoryLocator
-
profileService
protected ProfileService profileService
-
authenticationManager
protected AuthenticationManager authenticationManager
-
textEncryptor
protected org.craftercms.commons.crypto.TextEncryptor textEncryptor
-
-
Method Detail
-
setConnectSupport
public void setConnectSupport(org.springframework.social.connect.web.ConnectSupport connectSupport)
-
setConnectionFactoryLocator
public void setConnectionFactoryLocator(org.springframework.social.connect.ConnectionFactoryLocator connectionFactoryLocator)
-
setProfileService
public void setProfileService(ProfileService profileService)
-
setAuthenticationManager
public void setAuthenticationManager(AuthenticationManager authenticationManager)
-
setTextEncryptor
public void setTextEncryptor(org.craftercms.commons.crypto.TextEncryptor textEncryptor)
-
start
public String start(String tenant, String providerId, javax.servlet.http.HttpServletRequest request) throws AuthenticationException
Description copied from interface:ProviderLoginSupportStarts the OAuth login process. Returns a URL that the app should redirect to.- Specified by:
startin interfaceProviderLoginSupport- Parameters:
tenant- the current tenant the authenticated user belongs tooproviderId- the social service provider ID: facebook, twitter, linkedinrequest- the current request- Returns:
- the provider specific URL the current app should redirect too.
- Throws:
AuthenticationException
-
start
public String start(String tenant, String providerId, javax.servlet.http.HttpServletRequest request, org.springframework.util.MultiValueMap<String,String> additionalUrlParams) throws AuthenticationException
Description copied from interface:ProviderLoginSupportStarts the OAuth login process. Returns a URL that the app should redirect to.- Specified by:
startin interfaceProviderLoginSupport- Parameters:
tenant- the current tenant the authenticated user belongs tooproviderId- the social service provider ID: facebook, twitter, linkedinrequest- the current requestadditionalUrlParams- additional parameters that should be added to the redirect URL- Returns:
- the provider specific URL the current app should redirect too.
- Throws:
AuthenticationException
-
start
public String start(String tenant, String providerId, javax.servlet.http.HttpServletRequest request, org.springframework.util.MultiValueMap<String,String> additionalUrlParams, org.springframework.social.connect.web.ConnectSupport connectSupport) throws AuthenticationException
Description copied from interface:ProviderLoginSupportStarts the OAuth login process. Returns a URL that the app should redirect to.- Specified by:
startin interfaceProviderLoginSupport- Parameters:
tenant- the current tenant the authenticated user belongs tooproviderId- the social service provider ID: facebook, twitter, linkedinrequest- the current requestadditionalUrlParams- additional parameters that should be added to the redirect URLconnectSupport- helper class instance for establishing the connections with the providers- Returns:
- the provider specific URL the current app should redirect too.
- Throws:
AuthenticationException
-
complete
public Authentication complete(String tenant, String providerId, javax.servlet.http.HttpServletRequest request) throws AuthenticationException
Description copied from interface:ProviderLoginSupportCompletes the OAuth authentication, returning the resultingAuthenticationobject, or null if it couldn't be completed.- Specified by:
completein interfaceProviderLoginSupport- Parameters:
tenant- the current tenant the authenticated user belongs tooproviderId- the social service provider ID: facebook, twitter, linkedinrequest- the current request- Returns:
- the authentication
- Throws:
AuthenticationException
-
complete
public Authentication complete(String tenant, String providerId, javax.servlet.http.HttpServletRequest request, Set<String> newUserRoles, Map<String,Object> newUserAttributes) throws AuthenticationException
Description copied from interface:ProviderLoginSupportCompletes the OAuth authentication, returning the resultingAuthenticationobject, or null if it couldn't be completed.- Specified by:
completein interfaceProviderLoginSupport- Parameters:
tenant- the current tenant the authenticated user belongs tooproviderId- the social service provider ID: facebook, twitter, linkedinrequest- the current requestnewUserRoles- roles to add to a new usernewUserAttributes- attributes to add to a new user- Returns:
- the authentication
- Throws:
AuthenticationException
-
complete
public Authentication complete(String tenant, String providerId, javax.servlet.http.HttpServletRequest request, Set<String> newUserRoles, Map<String,Object> newUserAttributes, org.springframework.social.connect.web.ConnectSupport connectSupport) throws AuthenticationException
Description copied from interface:ProviderLoginSupportCompletes the OAuth authentication, returning the resultingAuthenticationobject, or null if it couldn't be completed.- Specified by:
completein interfaceProviderLoginSupport- Parameters:
tenant- the current tenant the authenticated user belongs tooproviderId- the social service provider ID: facebook, twitter, linkedinrequest- the current requestnewUserRoles- roles to add to a new usernewUserAttributes- attributes to add to a new userconnectSupport- helper class instance for establishing the connections with the providers- Returns:
- the authentication
- Throws:
AuthenticationException
-
completeConnection
protected org.springframework.social.connect.Connection<?> completeConnection(org.springframework.social.connect.web.ConnectSupport connectSupport, String providerId, javax.servlet.http.HttpServletRequest request) throws OAuth2Exception- Throws:
OAuth2Exception
-
getConnectionFactory
protected org.springframework.social.connect.ConnectionFactory<?> getConnectionFactory(String providerId)
-
createProfile
protected Profile createProfile(String tenant, org.springframework.social.connect.Connection<?> connection, Profile userData)
-
-