Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring 如何避免用一个社交帐户连接两个不同的webapp帐户_Spring_Spring Social - Fatal编程技术网

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

Spring 如何避免用一个社交帐户连接两个不同的webapp帐户,spring,spring-social,Spring,Spring Social,我正在使用SpringSocial将用户应用程序帐户连接到一个社交帐户(Facebook和/或Twitter) 事实证明,有可能两个不同的用户帐户连接到同一个社交帐户 例如: 我的webapp中的User1连接到Facebook帐户#1 我的网络应用程序中的用户2与Facebook帐户1连接 现在这是可能的。看起来这是在Spring Social内部发生的。 之后,两个帐户都无法使用社交帐户登录 我想避免在User2尝试连接时将同一个社交帐户连接到不同的webapp用户。任何提示我如何才能做

我正在使用SpringSocial将用户应用程序帐户连接到一个社交帐户(Facebook和/或Twitter)

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

例如:

  • 我的webapp中的User1连接到Facebook帐户#1
  • 我的网络应用程序中的用户2与Facebook帐户1连接
现在这是可能的。看起来这是在Spring Social内部发生的。 之后,两个帐户都无法使用社交帐户登录


我想避免在User2尝试连接时将同一个社交帐户连接到不同的webapp用户。任何提示我如何才能做到这一点是感激的

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

  • org.springframework.social.connect.jdbc.jdbconnectionrepository
  • org.springframework.social.connect.jdbc.JdbcUsersConnectionRepository
在存储到数据库之前,您可以验证项目并提供自己的逻辑


希望这有帮助

对这个问题提供了一个答案。 代码示例

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