package qa.qcri.aidr.data.social.configuration;
import javax.inject.Inject;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.social.connect.ConnectionFactory;
import org.springframework.social.connect.web.ConnectInterceptor;
import org.springframework.social.facebook.api.Facebook;
import org.springframework.social.facebook.connect.FacebookConnectionFactory;
import org.springframework.stereotype.Component;
@Component
public class FacebookProviderConfig extends AbstractProviderConfig<Facebook> {
@Inject
private FacebookConnectInterceptor facebookConnectInterceptor;
@Value("${facebook.consumerKey}")
private String facebookConsumerKey;
@Value("${facebook.consumerSecret}")
private String facebookConsumerSecret;
@Override
protected ConnectionFactory<Facebook> createConnectionFactory() {
FacebookConnectionFactory facebookConnectionFactory = new FacebookConnectionFactory(facebookConsumerKey, facebookConsumerSecret);
facebookConnectionFactory.setScope("email");
return facebookConnectionFactory;
}
@Override
protected ConnectInterceptor<Facebook> getConnectInterceptor() {
if( facebookConnectInterceptor == null ) {
facebookConnectInterceptor = new FacebookConnectInterceptor();
}
return facebookConnectInterceptor;
}
}