Access Token 与 Refresh Token【转载哒科普啊】
Access Token 與 Refresh Token
access token 是客戶端訪問資源服務器的令牌。擁有這個令牌代表著得到用戶的授權。然而,這個授權應該是臨時的,有一定有效期。這是因為,access token 在使用的過程中可能會泄露。給 access token 限定一個較短的有效期可以降低因 access token 泄露而帶來的風險。
然而引入了有效期之后,客戶端使用起來就不那么方便了。每當 access token 過期,客戶端就必須重新向用戶索要授權。這樣用戶可能每隔幾天,甚至每天都需要進行授權操作。這是一件非常影響用戶體驗的事情。希望有一種方法,可以避免這種情況。
于是 Oauth2.0 引入了 refresh token 機制。refresh token 的作用是用來刷新 access token。鑒權服務器提供一個刷新接口,例如:
http://xxx.xxx.com/refresh?refreshtoken=&client_id=
傳入 refresh token 和 client_id,鑒權服務器驗證通過后,返回一個新的 access token。為了安全,Oauth2.0 引入了兩個措施:
1,Oauth2.0 要求,refresh token 一定是保存在客戶端的服務器上的,而絕不能存放在狹義的客戶端(例如移動 app、PC端軟件) 上。調用 refresh 接口的時候,一定是從服務器到服務器的訪問;
2,Oauth2.0 引入了 client_secret 機制。即每一個 client_id 都對應一個 client_secret。這個 client_secret 會在客戶端申請 client_id 時,隨 client_id 一起分配給客戶端??蛻舳吮仨毎?client_secret 妥善保管在服務器上,決不能泄露。刷新 access token 時,需要驗證這個 client_secret。
于是,實際上的刷新接口應該是類似這樣的:
http://xxx.xxx.com/refresh?refreshtoken=&client_id=&client_secret=
以上就是 refresh token 機制。refresh token 的有效期非常長,會在用戶授權時,隨 access token 一起重定向到回調 url,傳遞給客戶端。
轉載于:https://www.cnblogs.com/Susie-/p/10683656.html
總結
以上是生活随笔為你收集整理的Access Token 与 Refresh Token【转载哒科普啊】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HTML5 的知识分享(二):HTML5
- 下一篇: sql server 作业收缩数据库