我的应用程序中有春季安全登录的春季3.1。我正在尝试使用spring social添加facebook登录。 它进入Facebook登录页面,但登录后它会引发404错误。我在URL中有这个:
http://localhost:8080/TestProject/signin?error=provider#_=_
这是我的春季社交配置:
<bean class="org.springframework.social.connect.web.ProviderSignInController">
<!-- relies on by-type autowiring for the constructor-args -->
<constructor-arg ref="signInAdapter" />
</bean>
<bean id="connectionFactoryLocator"
class="org.springframework.social.connect.support.ConnectionFactoryRegistry">
<property name="connectionFactories">
<list>
<bean class="org.springframework.social.facebook.connect.FacebookConnectionFactory">
<constructor-arg value="${fb.id}" />
<constructor-arg value="${fb.passwrd}" />
</bean>
</list>
</property>
</bean>
<bean id="connectionRepository" factory-method="createConnectionRepository"
factory-bean="usersConnectionRepository" scope="request">
<constructor-arg value="#{request.userPrincipal.name}" />
<aop:scoped-proxy proxy-target-class="false" />
</bean>
<bean id="signInAdapter" class="com.Test.social.SimpleSignInAdapter"/>
<bean id="usersConnectionRepository"
class="org.springframework.social.connect.jdbc.JdbcUsersConnectionRepository">
<constructor-arg ref="dataSource" />
<constructor-arg ref="connectionFactoryLocator" />
<constructor-arg ref="textEncryptor" />
</bean>
<bean id="textEncryptor" class="org.springframework.security.crypto.encrypt.Encryptors"
factory-method="noOpText" />
</beans>
有什么想法吗?
答案 0 :(得分:1)
我也突然碰巧重定向到signin?error=provider#_=_
。
原因是在此“错误消息”反复发生之前,我更新了本地JDK安装。通过这个新的JDK安装,对我的Java安装安全设置的任何更改都被重置为“全新安装默认值”。特别是,我手动安装的UnlimitedJCEPolicy不再可用。 重新安装UnlimitedJCEPolicy解决了我的问题 。
在我的特定情况下,我没有使用noOpText() TextEncryptor
,而是使用queryableText(..) TextEncryptor
。
答案 1 :(得分:0)
您使用的是什么样的春季社交版? (必须是1.0.X)
你创建了一个facebook应用程序吗? (您需要在FacebookConnectionFactory构造函数中提供应用程序密钥/机密)。您似乎正在使用Facebook用户/密码。