我有一個移動應用程序與後端服務器,我想了解什麼是最佳做法使用Facebook登錄(創建一個帳戶),然後保持整個系統同步。什麼是正確的方式做Facebook的移動應用程序登錄(與node.js/passport.js服務器)
以下是我目前瞭解的內容: - 移動應用程序可以在設備上進行登錄並獲取access_token - 可以將訪問令牌傳輸到服務器。我使用passport-facebook-token掛鉤了一些api.myhost.com/auth/facebook路由,做了一個概念驗證,看起來我可以驗證用戶並檢索他的FB數據。因此,我可以將他與我的數據庫中的現有用戶相匹配或創建新記錄。
我不明白: 1)我必須使用https傳輸FB令牌到我的服務器嗎?
2)我應該爲我的其他請求進行身份驗證。我不認爲去FB的每一個請求是一種選擇。想到的一個選擇是生成另一個(我自己的)訪問令牌並作爲FB認證的結果返回。
最簡單的方法是使用passport-facebook-token會話(以便cookie會話ID可以序列化並反序列化爲用戶ID)。但這意味着我需要爲會話保留一些KV存儲空間。
另一種方式是爲該用戶生成我自己的隨機令牌,並在成功登錄時將其與用戶ID一起返回,並將其存儲在用戶記錄中,並讓來自客戶端的每個API調用提供此ID /令牌對並重新驗證它們每次手動無需依靠護照。或者,也許依靠護照本地策略?
哪一個更好?每個人的優點/缺點是什麼? 2)如果我打算將FB標記用於發佈到FB並進行圖形分析(朋友等),我打算將該標記存儲在服務器上。我多久需要刷新一次?每當應用程序啓動並刷新客戶端上的令牌時,我是否應該使用新的FB令牌對服務器重新進行身份驗證?通過服務器到服務器的調用刷新用戶FB令牌怎麼樣?如果我想保持對用戶的FB數據的訪問,但是用戶是否停止使用我的或者很少使用它,我是否應該這樣做?
是否有任何地方的工作方案的食譜,運作良好?
謝謝!
你有沒有在這裏找到有用的東西? – SJoshi