X-Git-Url: https://juplo.de/gitweb/?p=website;a=blobdiff_plain;f=dist%2Ffacebook-utils-2.5.0%2Fxref%2Fde%2Fjuplo%2Ffacebook%2FFacebookUtils.html;fp=dist%2Ffacebook-utils-2.5.0%2Fxref%2Fde%2Fjuplo%2Ffacebook%2FFacebookUtils.html;h=d74a8692157891b37ef0ed5b029f911a93fa99a2;hp=0000000000000000000000000000000000000000;hb=a53595184bd6e57bdc45292cc92c393c4e2dfe6e;hpb=c48c9ee0e9faa89a4c0a5323b367b9f5a6abe602 diff --git a/dist/facebook-utils-2.5.0/xref/de/juplo/facebook/FacebookUtils.html b/dist/facebook-utils-2.5.0/xref/de/juplo/facebook/FacebookUtils.html new file mode 100644 index 00000000..d74a8692 --- /dev/null +++ b/dist/facebook-utils-2.5.0/xref/de/juplo/facebook/FacebookUtils.html @@ -0,0 +1,119 @@ + + +
++1 package de.juplo.facebook; +2 +3 +4 import de.juplo.facebook.token.SignedRequestAwareAuthorizationCodeAccessTokenProvider; +5 import de.juplo.facebook.client.GraphApiErrorHandler; +6 import java.util.Arrays; +7 import java.util.LinkedList; +8 import java.util.List; +9 import javax.annotation.PostConstruct; +10 import org.slf4j.Logger; +11 import org.slf4j.LoggerFactory; +12 import org.springframework.beans.BeansException; +13 import org.springframework.beans.factory.annotation.Autowired; +14 import org.springframework.beans.factory.config.BeanPostProcessor; +15 import org.springframework.context.annotation.Bean; +16 import org.springframework.context.annotation.Configuration; +17 import org.springframework.security.oauth2.client.OAuth2RestTemplate; +18 import org.springframework.security.oauth2.client.http.OAuth2ErrorHandler; +19 import org.springframework.security.oauth2.client.token.AccessTokenProvider; +20 import org.springframework.security.oauth2.client.token.AccessTokenProviderChain; +21 import org.springframework.security.oauth2.client.token.grant.client.ClientCredentialsAccessTokenProvider; +22 import org.springframework.security.oauth2.client.token.grant.implicit.ImplicitAccessTokenProvider; +23 import org.springframework.security.oauth2.client.token.grant.password.ResourceOwnerPasswordAccessTokenProvider; +24 +25 +26 +27 /** +28 * This class injects the facebook-utils into the spring-oauth2-configuration +29 * +30 * @author kai +31 */ +32 @Configuration +33 public class FacebookUtils +34 { +35 private final Logger log = LoggerFactory.getLogger(FacebookUtils.class); +36 +37 +38 @Autowired(required=false) +39 private List<AccessTokenProvider> accessTokenProviderChain; +40 +41 +42 @PostConstruct +43 public void init() +44 { +45 if (accessTokenProviderChain == null) +46 { +47 log.info("no AccessTokenProviderChain configured, creating default-chain"); +48 accessTokenProviderChain = +49 Arrays.<AccessTokenProvider> asList( +50 new ImplicitAccessTokenProvider(), +51 new ResourceOwnerPasswordAccessTokenProvider(), +52 new ClientCredentialsAccessTokenProvider() +53 ); +54 } +55 } +56 +57 +58 @Bean +59 public BeanPostProcessor getBeanPostProcessor(final String clientSecret) +60 { +61 log.debug("createing new instance of BeanPostProcessor"); +62 return new BeanPostProcessor() { +63 +64 @Override +65 public Object postProcessBeforeInitialization( +66 Object bean, +67 String beanName +68 ) +69 throws +70 BeansException +71 { +72 if (bean instanceof OAuth2RestTemplate) +73 { +74 log.info("injecting signed_request-aware AccessTokenProviderChain"); +75 OAuth2RestTemplate template = (OAuth2RestTemplate)bean; +76 List<AccessTokenProvider> chain = +77 new LinkedList<>(accessTokenProviderChain); +78 SignedRequestAwareAuthorizationCodeAccessTokenProvider provider = +79 new SignedRequestAwareAuthorizationCodeAccessTokenProvider(); +80 provider.setSecret(clientSecret); +81 chain.add(provider); +82 template.setAccessTokenProvider(new AccessTokenProviderChain(chain)); +83 log.info("injecting GraphApiErrorHandler"); +84 template.setErrorHandler( +85 new GraphApiErrorHandler( +86 (OAuth2ErrorHandler)template.getErrorHandler() +87 ) +88 ); +89 } +90 +91 return bean; +92 } +93 +94 @Override +95 public Object postProcessAfterInitialization( +96 Object bean, +97 String beanName +98 ) +99 throws +100 BeansException +101 { +102 return bean; +103 } +104 }; +105 } +106 } ++