Spring Social - facebook登录时出现404错误

Posted

技术标签:

【中文标题】Spring Social - facebook登录时出现404错误【英文标题】:Spring Social - 404 error for facebook login 【发布时间】:2012-07-29 05:15:43 【问题描述】:

我的应用中有 spring 3.1 和 spring 安全登录。我正在尝试使用 spring social 添加 facebook 登录。 它进入 facebook 登录页面,但登录后会引发 404 错误。我在网址中有这个:

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> 

有什么想法吗?

【问题讨论】:

【参考方案1】:

我也突然碰巧重定向到signin?error=provider#_=_

原因是在此“错误消息”反复发生之前,我更新了本地 JDK 安装。通过这个新的 JDK 安装,对我的 Java 安装安全设置的任何更改都被重置为“全新安装默认值”。特别是,我手动安装的UnlimitedJCEPolicy 不再可用。 重新安装 UnlimitedJCEPolicy 解决了我的问题

在我的特定情况下,我使用的不是noOpText() TextEncryptor,而是queryableText(..) TextEncryptor

【讨论】:

对我来说这是应用 ID 的一些问题.. :) 感谢您的回答【参考方案2】:

您使用的是什么春季社交版本? (必须是 1.0.X)

您是否创建了 Facebook 应用程序? (您需要在 FacebookConnectionFactory 构造函数中提供应用程序密钥/秘密)。看来您正在使用您的 Facebook 用户/密码。

【讨论】:

是的,我正在使用 spring social 1.0.2。 配置看起来不错..你能分享你在日志中看到的内容吗? 我认为这是一个appid,关键复制粘贴问题..!!我的坏..它现在工作正常:)

以上是关于Spring Social - facebook登录时出现404错误的主要内容,如果未能解决你的问题,请参考以下文章

AngularJS Spring Social Facebook CORS 问题

使用现有用户访问令牌使用 Spring Social 登录 Facebook

spring social facebook + api + angularjs(如何从 angular 调用 -> spring api -> 重定向到 facebook 登录)

ReactJS + Spring Social (Facebook) + 身份验证后重定向回 React

如何使用 ngrok 隧道使 spring social facebook 在 localhost 上工作

另一台服务器上的 Spring Social Facebook URL 重定向