我有使用Android帳戶管理器進行驗證的問題。我們有一個後端和一個Android應用程序,用戶應該使用他的Facebook帳戶登錄我們的後端。目前我們展示了一個用於此目的的webview,它可以執行正常的oAuth 2,但是使用Android帳戶管理器更加安全並且對用戶來說更容易,所以我們希望切換。我的問題是,服務器如何驗證用戶是否真的假裝他是誰。由於我們不能相信應用程序,所以我們必須從服務器端與fb進行交談,以驗證用戶是否真的是他假裝的人。基於相當similar idea我做了下面的圖來問你,如果這是做了正確的方式,或者如果我錯過了什麼:使用Android帳戶管理器在我的服務器上驗證使用FB登錄的用戶
流程是這樣的:
- 用戶希望登錄他的Facebook帳戶
- Android的客戶經理顯示,他挑選的Facebook帳戶
- 用戶授予訪問「我的應用」被允許訪問他的FB數據
- Android的命中率'mount經理從Facebook服務器
- 「我的應用」現在有身份驗證令牌,可以訪問用戶的FB數據得到一個身份驗證令牌
- 「我的應用」通過了僑民轉讓技術方案,以「我的服務器」
- 「我的服務器」現在通過從fb服務器獲取用戶數據來檢查令牌是否有效如果令牌有效,「我的服務器」將使用「我的應用」爲當前會話返回一個正常的臨時有效cookie。用戶現在用他的fb賬戶登錄到我的服務器。
那麼這是正確的方法嗎?第6步是將令牌傳遞給「我的服務器」還是有更好的方法?順便說一下,Facebook只是一個例子,我們使用不同的auth提供商,如FB,谷歌和Twitter,但流量應該是相同的每一個。
「我的服務器」現在通過從fb服務器獲取用戶數據來檢查令牌是否有效。這怎麼可能是正確的? – 2017-03-15 15:47:07
@ H.A.H。如果Facebook服務器返回有效用戶並且不拒絕該令牌,則該令牌必須有效 – 2017-03-16 10:46:06