Package io.meeds.oauth.web
Class OAuthProviderFilter<T extends AccessTokenContext>
java.lang.Object
org.exoplatform.container.web.AbstractFilter
org.gatein.sso.agent.filter.api.AbstractSSOInterceptor
io.meeds.oauth.web.OAuthProviderFilter<T>
- All Implemented Interfaces:
jakarta.servlet.Filter,org.gatein.sso.agent.filter.api.SSOInterceptor
- Direct Known Subclasses:
FacebookFilter,GoogleFilter,LinkedInFilter,OpenIdFilter,TwitterFilter
public abstract class OAuthProviderFilter<T extends AccessTokenContext>
extends org.gatein.sso.agent.filter.api.AbstractSSOInterceptor
Filter to handle OAuth interaction. This filter contains only "generic"
common functionality, which is same for all OAuth providers. For specific
functionality, you need to override some methods (especially abstract
methods)
- Author:
- Marek Posolda
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final org.exoplatform.services.log.Logprotected StringFields inherited from class org.gatein.sso.agent.filter.api.AbstractSSOInterceptor
PORTAL_CONTAINER_SUBSTITUTION_PATTERNFields inherited from class org.exoplatform.container.web.AbstractFilter
config, servletContextName -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoiddestroy()voiddoFilter(jakarta.servlet.ServletRequest request, jakarta.servlet.ServletResponse response, jakarta.servlet.FilterChain chain) protected org.exoplatform.web.security.AuthenticationRegistryprotected abstract OAuthPrincipal<T>getOAuthPrincipal(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, InteractionState<T> interactionState) protected <T extends AccessTokenContext>
OAuthProviderType<T>getOauthProvider(String defaultKey, Class<T> c) protected abstract OAuthProviderType<T>protected OAuthProviderProcessor<T>protected OAuthProviderTypeRegistryprotected SocialNetworkServiceprotected voidinitImpl()protected abstract voidinitInteraction(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) protected StringobtainCustomScopeIfAvailable(jakarta.servlet.http.HttpServletRequest httpRequest) protected voidredirectAfterOAuthError(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) protected voidsaveInitialURI(jakarta.servlet.http.HttpServletRequest request) protected voidsaveRememberMe(jakarta.servlet.http.HttpServletRequest request) Methods inherited from class org.gatein.sso.agent.filter.api.AbstractSSOInterceptor
afterInit, getExoContainer, getInitParameter, initWithParamsMethods inherited from class org.exoplatform.container.web.AbstractFilter
getContainer, getServletContext, init, requirePortalEnvironmentMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface jakarta.servlet.Filter
init
-
Field Details
-
log
protected final org.exoplatform.services.log.Log log -
providerKey
-
-
Constructor Details
-
OAuthProviderFilter
public OAuthProviderFilter()
-
-
Method Details
-
initImpl
protected void initImpl()- Specified by:
initImplin classorg.gatein.sso.agent.filter.api.AbstractSSOInterceptor
-
destroy
public void destroy() -
doFilter
public void doFilter(jakarta.servlet.ServletRequest request, jakarta.servlet.ServletResponse response, jakarta.servlet.FilterChain chain) throws IOException, jakarta.servlet.ServletException - Throws:
IOExceptionjakarta.servlet.ServletException
-
getAuthenticationRegistry
protected org.exoplatform.web.security.AuthenticationRegistry getAuthenticationRegistry() -
getOauthProviderProcessor
-
getOAuthProviderTypeRegistry
-
getSocialNetworkService
-
obtainCustomScopeIfAvailable
-
redirectAfterOAuthError
protected void redirectAfterOAuthError(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) throws IOException - Throws:
IOException
-
saveInitialURI
protected void saveInitialURI(jakarta.servlet.http.HttpServletRequest request) -
saveRememberMe
protected void saveRememberMe(jakarta.servlet.http.HttpServletRequest request) -
getOauthProvider
protected <T extends AccessTokenContext> OAuthProviderType<T> getOauthProvider(String defaultKey, Class<T> c) -
getOAuthProvider
-
initInteraction
protected abstract void initInteraction(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) -
getOAuthPrincipal
protected abstract OAuthPrincipal<T> getOAuthPrincipal(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, InteractionState<T> interactionState)
-