0
我有點困惑如何在php中正確使用auth_和refresh_token。PHP oauth2如何使用refresh_token
我已經使用oauth提供程序註冊了一個新的客戶端應用程序。在那之後我的應用程序發送客戶端ID和祕密到的oauth2授權端點返回如下:
Array
(
[result] => Array
(
[access_token] => qjdcshsmgwcuvi7hzpgxwqapfb8aoab60fmprk1g
[expires_in] => 86400
[token_type] => Bearer
[scope] => basic
[refresh_token] => whnutk9npmaikcn1bxbovleuqn9ggn9j00jgyiph
)
[code] => 200
[content_type] => application/json
)
太好了,我現在可以使用的的access_token查詢API。但access_token將在24小時後過期,整個舞蹈將再次開始。
問題:
- 我在哪裏存儲的access_token整個過程不會在每次請求運行?一個會話不會持久化,在conf文件中,memcache是一個數據庫?)
- 如何處理刷新令牌,我應該在會話中保存一個時間戳並檢查是否需要新的access_token?
這就是refresh_token的全部目的。如果你的access_token被泄露了,它將不會被更新,但是refresh_token將會被使用,所以沒有人會使用這個令牌。使用這種方法帶來了將訪問令牌發送給客戶端的優勢。 – rpi
@rpi感謝您的回覆。我的問題是我對auth流感到困惑。我是否必須檢查access_token是否必須按照上面所述進行更新,或者我是否開始這個過程f.e.從401錯誤響應?此外我的問題是在php中永久存儲令牌的位置。 –
由於您知道訪問令牌將在24小時後過期,因此您可以輕鬆地將當前時間戳+24小時與您的請求一起存儲。您的應用程序還應該能夠訪問令牌無法更新的情況,因爲許可權可能已被吊銷。 – rpi