2016-05-28 83 views
0

所以我一直在爲一個程序創建一個REST API,我們允許一些用戶使用Facebook登錄。 當用戶通過Facebook註冊我的程序時,我需要生成一個包含基本個人信息(例如名字,姓氏等)的用戶檔案,然後生成具體的程序信息(例如職業選擇)。存儲Facebook用戶信息最佳實踐?

具體的程序信息顯然會由用戶手動輸入,,但個人信息可能直接來自Facebook

我在想,我們可以顯示一個「註冊表單」,其中包含必要的程序特定字段,然後個人字段已經預先填入了他們的Facebook個人信息(如果需要,他們可以更改此信息)。

我的問題是: 當用戶在我的程序創建一個帳戶,我應該存儲來自Facebook的個人信息到我的數據庫,或者不斷地獲取來自Facebook,每次我需要顯示自己的個人信息的個人信息?

如果我將它存儲在我的數據庫中,我只是擔心從長遠來看會有過時的信息(例如用戶更改Facebook上的個人信息但未反映在我們的系統中)。我的程序是否應該始終與用戶的FB賬戶同步?

我們的主要目標是爲我們的程序提供另一種登錄方法。擁有客戶的個人詳細信息不會影響程序的功能(僅供用戶查看其他用戶的詳細信息)。

回答

0

你絕對應該把你的個人信息從Facebook存儲在你的數據庫中。

查看documentation,您可以看到建議的工作流程是在初始註冊短暫存取令牌後獲取長期存取令牌。對於不同步的個人信息,一旦這個長期存在的令牌過期(約60天),您需要刷新它(客戶需要重新登錄),此時您可以使用短暫令牌更新您的數據庫記錄。