WIP
[facebook-utils] / src / main / java / de / juplo / facebook / FacebookUtils.java
diff --git a/src/main/java/de/juplo/facebook/FacebookUtils.java b/src/main/java/de/juplo/facebook/FacebookUtils.java
deleted file mode 100644 (file)
index f6f6b37..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-package de.juplo.facebook;
-
-
-import de.juplo.facebook.errors.GraphApiErrorHandler;
-import de.juplo.facebook.token.SignedRequestAwareAuthorizationCodeAccessTokenProvider;
-import java.util.Arrays;
-import java.util.LinkedList;
-import java.util.List;
-import javax.annotation.PostConstruct;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.BeansException;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.config.BeanPostProcessor;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.security.oauth2.client.OAuth2RestTemplate;
-import org.springframework.security.oauth2.client.http.OAuth2ErrorHandler;
-import org.springframework.security.oauth2.client.token.AccessTokenProvider;
-import org.springframework.security.oauth2.client.token.AccessTokenProviderChain;
-import org.springframework.security.oauth2.client.token.grant.client.ClientCredentialsAccessTokenProvider;
-import org.springframework.security.oauth2.client.token.grant.implicit.ImplicitAccessTokenProvider;
-import org.springframework.security.oauth2.client.token.grant.password.ResourceOwnerPasswordAccessTokenProvider;
-
-
-
-/**
- * This class injects the facebook-utils into the spring-oauth2-configuration
- *
- * @author kai
- */
-@Configuration
-public class FacebookUtils
-{
-  private final Logger log = LoggerFactory.getLogger(FacebookUtils.class);
-
-
-  @Autowired(required=false)
-  private List<AccessTokenProvider> accessTokenProviderChain;
-
-
-  @PostConstruct
-  public void init()
-  {
-    if (accessTokenProviderChain == null)
-    {
-      log.info("no AccessTokenProviderChain configured, creating default-chain");
-      accessTokenProviderChain =
-          Arrays.<AccessTokenProvider> asList(
-              new ImplicitAccessTokenProvider(),
-              new ResourceOwnerPasswordAccessTokenProvider(),
-              new ClientCredentialsAccessTokenProvider()
-              );
-    }
-  }
-
-
-  @Bean
-  public BeanPostProcessor getBeanPostProcessor(final String clientSecret)
-  {
-    log.debug("createing new instance of BeanPostProcessor");
-    return new BeanPostProcessor() {
-
-      @Override
-      public Object postProcessBeforeInitialization(
-          Object bean,
-          String beanName
-          )
-          throws
-            BeansException
-      {
-        if (bean instanceof OAuth2RestTemplate)
-        {
-          log.info("injecting signed_request-aware AccessTokenProviderChain");
-          OAuth2RestTemplate template = (OAuth2RestTemplate)bean;
-          List<AccessTokenProvider> chain =
-              new LinkedList<>(accessTokenProviderChain);
-          SignedRequestAwareAuthorizationCodeAccessTokenProvider provider =
-              new SignedRequestAwareAuthorizationCodeAccessTokenProvider();
-          provider.setSecret(clientSecret);
-          chain.add(provider);
-          template.setAccessTokenProvider(new AccessTokenProviderChain(chain));
-          log.info("injecting GraphApiErrorHandler");
-          template.setErrorHandler(
-              new GraphApiErrorHandler(
-                  (OAuth2ErrorHandler)template.getErrorHandler()
-                  )
-              );
-        }
-
-        return bean;
-      }
-
-      @Override
-      public Object postProcessAfterInitialization(
-          Object bean,
-          String beanName
-          )
-          throws
-            BeansException
-      {
-        return bean;
-      }
-    };
-  }
-}