如何避免使用一个社交帐户连接两个不同的webapp帐户

时间:2012-08-10 17:44:35

标签: spring spring-social

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

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

示例:

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

现在可以这样做。看起来这种情况发生在Spring Social中。 之后,两个帐户都无法使用社交帐户登录。

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

2 个答案:

答案 0 :(得分:1)

这个问题的答案是来自here。 代码示例here

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

答案 1 :(得分:0)

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

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

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

希望这有帮助!