我的應用程序使用在客戶端的JavaScript的Facebook SDK授權和授權的用戶獲取應用程序的訪問令牌來自Facebook的API,使用Facebook的cookie簽名的請求,並提供code
,並將其存儲到數據庫中。當我應該加載一個新的訪問令牌?
一切工作正常,但我不知道,當我要刷新存儲訪問令牌?如果用戶更改了密碼,並且已經登錄/重新連接,該怎麼辦?
據我瞭解,現在她有新的訪問令牌,並且應用應該從Facebook加載它。但是我怎麼能理解我什麼時候應該檢查新的令牌?使用facebook cookie檢查每個請求cookie不起作用,因爲每個用戶每秒的請求數很少(事件如果她沒有更改密碼)。或者,也許我做錯了什麼?
我的意思是:
- 我已經授權的客戶端用戶
- 我有餅乾與簽名的請求
- 簽名的請求是相當足夠的授權服務器端用戶(驗證用戶憑據)
- 我可以通過調用API的Facebook得到
access token
,隨時隨地當用戶用戶發出請求,我的應用程序(因爲我需要簽名的請求一個code
)。所以,我這樣做,當我沒有存儲access token
或現有access token
已過期。 access token
只是存儲在數據庫中,並且可以隨時使用,在不同的線程,也許幾分鐘後(意思是,我們沒有與簽名的請求用戶請求和餅乾)- 如果存儲
access token
沒有過期,但無效在臉上?我需要獲取新的access token
,但此時cookie已經消失。
目前我看到的只有一條路:從簽名的請求商店code
到DATABSE,當我們發現我們有無效access token
,嘗試加載它。但我記下確定它是正確的方式,並沒有那麼多的可用於大多數情況下
這是否意味着無法將客戶端Javascript身份驗證與服務器端身份驗證結合起來?我的意思是,它足夠服務器解析Facebook cookie來授權用戶在服務器端。但是這個cookie不包含訪問令牌,並且服務器不知道是currenlty存儲的訪問令牌是否仍然有效,或者不是。 –
您沒有理由參與cookie,請讓SDK爲您做。隨着每個令牌的到期時間(應用令牌除外),你可以檢查該令牌是否仍然有效,如果有的話,它有多長時間。至於js/server auth,正如我寫的那樣,你可以發送一個客戶端令牌給服務器,但是這是毫無意義的,除非你擴展它。 –
似乎我們正在談論不同的事情。我已更新了我的問題,請你看一下,好嗎? –