Facebook 如何使用ProviderSignInControl设置回调URI?

Facebook 如何使用ProviderSignInControl设置回调URI?,facebook,facebook-oauth,spring-social,Facebook,Facebook Oauth,Spring Social,当我使用OAuthoOperations在spring social中使用login时,我就是这样设置回调URI的 ConnectionFactoryRegistry registry = (ConnectionFactoryRegistry) conf.connectionFactoryLocator(); FacebookConnectionFactory connectionFactory = (FacebookConnectionFactory)registry.getConne

当我使用OAuthoOperations在spring social中使用login时,我就是这样设置回调URI的

ConnectionFactoryRegistry registry = (ConnectionFactoryRegistry) conf.connectionFactoryLocator();
    FacebookConnectionFactory connectionFactory = (FacebookConnectionFactory)registry.getConnectionFactory( "facebook");


OAuth2Operations oauthOperations = connectionFactory.getOAuthOperations();
    OAuth2Parameters params = new OAuth2Parameters();
    params.setRedirectUri("http://localhost:8080/Social/CallBackFB?au=yes");
    String authorizeUrl = oauthOperations.buildAuthorizeUrl(GrantType.AUTHORIZATION_CODE, params);
    try
    {
        response.sendRedirect(authorizeUrl);
    }
上面的工作很有魅力,但现在我正在使用ProviderSignInController。请告诉我如何使用它设置回调URI,我已经尝试使用bean属性设置它

<bean class="org.springframework.social.connect.web.ProviderSignInController">
        <constructor-arg ref="connectionFactoryLocator" />
        <constructor-arg ref="usersConnectionRepository" />
        <constructor-arg ref="simpleSignInAdapter">
            <!-- <bean class="com.controllers.SimpleSignInAdapter" /> -->
        </constructor-arg>
        <property name="PostSignInUrl"
            value="http://localhost:8080/Social/CallBackFB?au=yes" />
    </bean>
编辑:Facebook设置

Website with Facebook Login
Site URL: http://localhost:8080/Social/CallBackFB/

App on Facebook
Canvas Page: https://apps.facebook.com/weblikeapp

https://apps.facebook.com/weblikeapp
Canvas URL: http://localhost:8080/Social/CallBackFB/

Secure Canvas URL: https://localhost:8080/Social/CallBackFB/
这不是实际问题,实际问题是本文的标题
请告诉我如何正确配置回调,我指的是spring-social-quickstart-30x

我知道了如何在facebook中设置回调,现在我正在寻求如何在ProviderSigninController中设置URI的帮助。请帮忙


非常感谢

您需要在相应facebook应用程序的设置中允许此回调URL(facebook应用程序页面->基本选项卡->“使用facebook登录的网站”选项)。Facebook阻止任何将用户重定向到不允许的URL的尝试。你目前的问题在Facebook方面。您无法在Spring社交配置中解决此问题。

你好,Maksym,感谢您的回复,我在编辑中也提供了facebook的详细信息。那么这是否意味着我的应用程序需要一个真实的URL来测试facebook登录?我有没有办法在本地测试它?再次感谢!以前我可以使用localhost进行测试。尝试将“使用Facebook登录的网站”选项的值更改为类似
http://localhost:8080/Social/
是的,@Maksym Demida,它工作起来很有魅力,我留下空白的是应用程序域:字段为空,我在那里写了“localhost”,它工作得非常好。非常感谢你!!:)我还想知道的一件事是,我们需要在应用程序和facebook的两侧设置回调URL,facebook是可以的,但在使用ProviderSignInControl的应用程序中,“setPostSignInUrl”是设置回调URL的正确位置吗?您可以将解决方案作为答案发布,然后接受它(未回答的问题不会再让堆栈用户感到困惑;您的回答可能会对某些人有所帮助)
Website with Facebook Login
Site URL: http://localhost:8080/Social/CallBackFB/

App on Facebook
Canvas Page: https://apps.facebook.com/weblikeapp

https://apps.facebook.com/weblikeapp
Canvas URL: http://localhost:8080/Social/CallBackFB/

Secure Canvas URL: https://localhost:8080/Social/CallBackFB/