2012-08-10 64 views
0

我使用Spring Social將用戶應用程序帳戶連接到社交帳戶(Facebook和/或Twitter)。如何避免使用一個社交帳戶連接兩個不同的webapp帳戶

事實證明,有可能兩個不同的用戶帳戶連接到同一個社交帳戶。

例子:

  • 用戶1在我的web應用程序與Facebook帳戶#1
  • 用戶2連接在我的web應用程序與Facebook帳戶#1

現在這是可能的連接。看起來這是在Spring Social內部發生的。 之後,兩個帳戶都無法使用社交帳戶登錄。

我想避免在User2嘗試連接時將相同的社交帳戶連接到不同的webapp用戶。任何提示我怎麼能這樣做是值得讚賞的!

回答

1

此問題的答案提供了here。代碼示例here

總之,必須使用ConnectInterceptor來檢查ConnectController是否存在連接並刪除當前創建的連接(如果其重複)。

0

如果您使用的是spring social提供的默認連接控制器,在獲取用戶令牌/密碼後,它將存儲在數據庫中。要存儲在數據庫彈簧社會用途:

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

之前存儲到數據庫中,你可以驗證的項目,並提供自己的邏輯。

希望這會有所幫助!

相關問題