2

spring-social を使用して、アプリケーションを Facebook に統合しています。OAuth2AuthenticationService では、スコープは空です。フォームの入力としてスコープを設定しましたが、機能せず、スコープを設定できませんでした。ユーザーの電子メールを取得できませんでした。

「OAuth2AuthenticationService」スコープ変数をオーバーライドする方法はありますか?

Not: Spring social バージョンは 1.1.0.BUILD-SNAPSHOT です。

セキュリティxmlバージョンを含むSpringソーシャルサンプルを使用しました

            <form name="fb_signin" id="fb_signin" action="../auth/facebook"
                method="post">
                <input type="hidden" name="scope"
                    value="email,publish_stream,read_stream,offline_access" /> 
                <button type="submit"> <img src="../images/social/facebook/sign-in-with-facebook.png" /> </button>  
                <!--  
                <input
                    type="image"
                    src="../images/social/facebook/sign-in-with-facebook.png"
                    align="right" />
                --> 
            </form>
4

2 に答える 2

3

scope構成では、 のプロパティとして指定する必要がありますFacebookAuthenticationService。これは、への呼び出しを処理するサービスです。auth/facebook

XML 構成では、次の代わりに:

<facebook:config app-id="${facebook.clientId}" app-secret="${facebook.clientSecret}"/>

使用する:

<bean id="connectionFactoryLocator" class="org.springframework.social.security.SocialAuthenticationServiceRegistry">
    <property name="authenticationServices">
        <list>
            <bean class="org.springframework.social.facebook.security.FacebookAuthenticationService">
                <constructor-arg value="${facebook.clientId}" />
                <constructor-arg value="${facebook.clientSecret}" />
                <property name="scope" value="email" />              
            </bean>
        </list>
    </property>
</bean>

これは Spring Social 1.1.0.M3 で動作します

于 2013-07-20T14:27:22.097 に答える