/ / пролетта социална получават потребителски имейл, докато удостоверяване - пролет-социални

пролетно социално получаване на потребителски имейл, докато удостоверявам - пролетно-социално

Ние използваме пролетно-социалното интегриране на нашетозаявление за Facebook. В OAuth2AuthenticationService обхватът е празен. Ние определяме обхвата като вход на форма.Но това не е работа и обхватът не може да бъде зададен. Не можахме да получим потребителски имейл.

Има ли някакъв начин да се замени променливата на обхвата "OAuth2AuthenticationService"?

Не: Пролетната социална версия е 1.1.0.BUILD-SNAPSHOT

Използвахме пролетна социална извадка, която съдържа сигурност xml версия

            <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/../images/social/facebook/sign-in-with-facebook.png" /> </button>
<!--
<input
type="image"
src="../images/social/facebook/sign-in-with-facebook.png"
align="right" />
-->
</form>

Отговори:

3 за отговор № 1

Във вашата конфигурация трябва да посочите 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


0 за отговор № 2

За да използвате горния XML конфиг с Spring Social 1.1.0.RELEASE, използвайте малката редактирана версия:

<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.app.id}" />
<constructor-arg value="${facebook.app.secret}" />
<!-- Important: The next property name changed from "scope" to "defaultScope" in 1.1.0.M4 -->
<property name="defaultScope" value="email,user_friends" />
</bean>
</list>
</property>
</bean>

Единствената разлика е в свойството "scope", което е преименувано на "defaultScope" в последната пролетна версия на Social. Благодаря на Виктор Любославски за споделянето на първоначалния конфиг.