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)
  • Field Details

    • log

      protected final org.exoplatform.services.log.Log log
    • providerKey

      protected String providerKey
  • Constructor Details

    • OAuthProviderFilter

      public OAuthProviderFilter()
  • Method Details

    • initImpl

      protected void initImpl()
      Specified by:
      initImpl in class org.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:
      IOException
      jakarta.servlet.ServletException
    • getAuthenticationRegistry

      protected org.exoplatform.web.security.AuthenticationRegistry getAuthenticationRegistry()
    • getOauthProviderProcessor

      protected OAuthProviderProcessor<T> getOauthProviderProcessor()
    • getOAuthProviderTypeRegistry

      protected OAuthProviderTypeRegistry getOAuthProviderTypeRegistry()
    • getSocialNetworkService

      protected SocialNetworkService getSocialNetworkService()
    • obtainCustomScopeIfAvailable

      protected String obtainCustomScopeIfAvailable(jakarta.servlet.http.HttpServletRequest httpRequest)
    • 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

      protected abstract OAuthProviderType<T> 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)