0

我正在使用 Spring Social 将用户应用程序帐户连接到社交帐户(Facebook 和/或 Twitter)。

事实证明,两个不同的用户帐户可能连接到同一个社交帐户。

例子:

  • 我的 webapp 中的 User1 与 Facebook 帐户 #1 连接
  • 我的 webapp 中的 User2 与 Facebook 帐户 #1 连接

现在这是可能的。看起来这发生在 Spring Social 内部。之后,两个帐户都无法使用社交帐户登录。

我想避免在 User2 尝试连接时将相同的社交帐户连接到不同的 webapp 用户。任何提示我该怎么做都值得赞赏!

4

2 回答 2

1

此处提供了此问题的答案。代码示例在这里

简而言之,ConnectInterceptor 必须用于 ConnectController 来检查现有连接并删除当前正在创建的连接(如果它是重复的)。

于 2012-08-13T07:00:52.993 回答
0

如果您使用的是 spring social 提供的默认连接控制器,则在获取用户令牌/秘密后,它将存储在数据库中。存储在数据库 spring-social 用途:

  • org.springframework.social.connect.jdbc.JdbcConnectionRepository
  • org.springframework.social.connect.jdbc.JdbcUsersConnectionRepository

在存储到数据库之前,您可以验证项目并提供您自己的逻辑。

希望这可以帮助!

于 2012-08-11T08:14:22.707 回答