Class DefaultOAuth2AuthorizedClientRepository
java.lang.Object
com.broadleafcommerce.auth.client.service.DefaultOAuth2AuthorizedClientRepository
- All Implemented Interfaces:
org.springframework.security.oauth2.client.web.OAuth2AuthorizedClientRepository
public class DefaultOAuth2AuthorizedClientRepository
extends Object
implements org.springframework.security.oauth2.client.web.OAuth2AuthorizedClientRepository
This service stores an
OAuth2AuthorizedClient
as a Base64 encoded value in a cookie.- Author:
- Cade Rea (cade-rea)
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
This class holds the necessary fields for saving and loadingOAuth2AuthorizedClient
. -
Field Summary
-
Constructor Summary
ConstructorDescriptionDefaultOAuth2AuthorizedClientRepository
(StatelessUtil statelessUtil, ContextHelperService contextHelperService, org.springframework.security.oauth2.client.registration.ClientRegistrationRepository clientRegistrationRepository) -
Method Summary
Modifier and TypeMethodDescriptionprotected org.springframework.security.oauth2.client.OAuth2AuthorizedClient
createAuthorizedClient
(String clientRegistrationId, org.springframework.security.core.Authentication principal, DefaultOAuth2AuthorizedClientRepository.TenantAwareOAuth2AuthorizedClientWrapper authorizedClientWrapper) Create anOAuth2AuthorizedClient
from anDefaultOAuth2AuthorizedClientRepository.TenantAwareOAuth2AuthorizedClientWrapper
protected org.springframework.security.oauth2.client.registration.ClientRegistrationRepository
protected ContextHelperService
protected com.fasterxml.jackson.databind.ObjectMapper
protected String
protected StatelessUtil
<T extends org.springframework.security.oauth2.client.OAuth2AuthorizedClient>
TloadAuthorizedClient
(String clientRegistrationId, org.springframework.security.core.Authentication principal, jakarta.servlet.http.HttpServletRequest request) readAuthClientWrapperFromCookie
(jakarta.servlet.http.HttpServletRequest request) Read aDefaultOAuth2AuthorizedClientRepository.TenantAwareOAuth2AuthorizedClientWrapper
from the authorized client cookie.void
removeAuthorizedClient
(String clientRegistrationId, org.springframework.security.core.Authentication principal, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) void
saveAuthorizedClient
(org.springframework.security.oauth2.client.OAuth2AuthorizedClient authorizedClient, org.springframework.security.core.Authentication principal, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) protected String
serializeAuthorizedClient
(Object authorizedClient) Serialize the givenOAuth2AuthorizedClient
into a Base-64 encoded String.protected void
setObjectMapper
(com.fasterxml.jackson.databind.ObjectMapper objectMapper) void
wrapAuthorizedClient
(org.springframework.security.oauth2.client.OAuth2AuthorizedClient authorizedClient) Create a newDefaultOAuth2AuthorizedClientRepository.TenantAwareOAuth2AuthorizedClientWrapper
from the givenOAuth2AuthorizedClient
.
-
Field Details
-
COOKIE_NAME
- See Also:
-
EXPIRES_IN_SECONDS
public static final long EXPIRES_IN_SECONDS- See Also:
-
-
Constructor Details
-
DefaultOAuth2AuthorizedClientRepository
public DefaultOAuth2AuthorizedClientRepository(StatelessUtil statelessUtil, ContextHelperService contextHelperService, org.springframework.security.oauth2.client.registration.ClientRegistrationRepository clientRegistrationRepository)
-
-
Method Details
-
loadAuthorizedClient
@Nullable public <T extends org.springframework.security.oauth2.client.OAuth2AuthorizedClient> T loadAuthorizedClient(String clientRegistrationId, org.springframework.security.core.Authentication principal, jakarta.servlet.http.HttpServletRequest request) - Specified by:
loadAuthorizedClient
in interfaceorg.springframework.security.oauth2.client.web.OAuth2AuthorizedClientRepository
-
saveAuthorizedClient
public void saveAuthorizedClient(org.springframework.security.oauth2.client.OAuth2AuthorizedClient authorizedClient, org.springframework.security.core.Authentication principal, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) - Specified by:
saveAuthorizedClient
in interfaceorg.springframework.security.oauth2.client.web.OAuth2AuthorizedClientRepository
-
removeAuthorizedClient
public void removeAuthorizedClient(String clientRegistrationId, org.springframework.security.core.Authentication principal, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) - Specified by:
removeAuthorizedClient
in interfaceorg.springframework.security.oauth2.client.web.OAuth2AuthorizedClientRepository
-
readAuthClientWrapperFromCookie
@Nullable protected DefaultOAuth2AuthorizedClientRepository.TenantAwareOAuth2AuthorizedClientWrapper readAuthClientWrapperFromCookie(jakarta.servlet.http.HttpServletRequest request) Read aDefaultOAuth2AuthorizedClientRepository.TenantAwareOAuth2AuthorizedClientWrapper
from the authorized client cookie.- Parameters:
request
-- Returns:
-
createAuthorizedClient
protected org.springframework.security.oauth2.client.OAuth2AuthorizedClient createAuthorizedClient(String clientRegistrationId, org.springframework.security.core.Authentication principal, DefaultOAuth2AuthorizedClientRepository.TenantAwareOAuth2AuthorizedClientWrapper authorizedClientWrapper) Create anOAuth2AuthorizedClient
from anDefaultOAuth2AuthorizedClientRepository.TenantAwareOAuth2AuthorizedClientWrapper
- Parameters:
clientRegistrationId
-principal
-authorizedClientWrapper
-- Returns:
-
wrapAuthorizedClient
protected DefaultOAuth2AuthorizedClientRepository.TenantAwareOAuth2AuthorizedClientWrapper wrapAuthorizedClient(org.springframework.security.oauth2.client.OAuth2AuthorizedClient authorizedClient) Create a newDefaultOAuth2AuthorizedClientRepository.TenantAwareOAuth2AuthorizedClientWrapper
from the givenOAuth2AuthorizedClient
.- Parameters:
authorizedClient
-- Returns:
-
serializeAuthorizedClient
Serialize the givenOAuth2AuthorizedClient
into a Base-64 encoded String.- Parameters:
authorizedClient
-- Returns:
-
getSavedAuthClientCookieName
-
getStatelessUtil
-
getContextHelperService
-
getClientRegistrationRepository
protected org.springframework.security.oauth2.client.registration.ClientRegistrationRepository getClientRegistrationRepository() -
getObjectMapper
protected com.fasterxml.jackson.databind.ObjectMapper getObjectMapper() -
setObjectMapper
protected void setObjectMapper(com.fasterxml.jackson.databind.ObjectMapper objectMapper) -
getProperties
-
setProperties
-