溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringBootSecurity中OAuth2.0怎樣刷新token

發(fā)布時間:2021-09-28 09:33:07 來源:億速云 閱讀:761 作者:柒染 欄目:大數(shù)據(jù)

本篇文章給大家分享的是有關SpringBootSecurity中OAuth2.0怎樣刷新token,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

刷新token

前面的例子和配置都是從頭開始申請授權碼和令牌,現(xiàn)在來看一下如何根據(jù)獲取令牌時,回參中的 refresh_token 來刷新令牌?,F(xiàn)在在項目中配置的是內存模式的默認用戶名密碼,第一步先改成數(shù)據(jù)庫查詢的方式,具體過程參考前面的文章即可,來看security配置類:

SpringBootSecurity中OAuth2.0怎樣刷新token

然后修改授權服務配置類,在 endpoints 中配置userDetailsService:

SpringBootSecurity中OAuth2.0怎樣刷新token

修改成數(shù)據(jù)庫方式也是為了創(chuàng)建userDetailsService對象,刷新令牌時會根據(jù)此對象對用戶信息進行檢查。這樣刷新令牌的配置就完成了。

測試

首先根據(jù)前面的正常流程,申請授權碼,然后獲取到令牌:

SpringBootSecurity中OAuth2.0怎樣刷新token

回參中有一個參數(shù)是 refresh_token 這個參數(shù)就是專門用來刷新令牌的,下面來看如何刷新令牌。刷新令牌和獲取令牌一樣,需要用post的方式訪問同一個地址 :

  • /oauth/token

不同的是,刷新令牌需要四個參數(shù):

  • grant_type:值必須是 refresh_token

  • client_id

  • client_secret

  • refresh_token : 上次獲取令牌時回參中的 refresh_token

通過上面四個參數(shù)可以看出,刷新令牌中每次變化的參數(shù)只有refresh_token。我們來使用本次獲取的 refresh_token 來刷新令牌:

SpringBootSecurity中OAuth2.0怎樣刷新token

可以看到刷新令牌和從頭開始獲取令牌返回的結果是一樣的,使用本次刷新請求中返回的refresh_token替換上面的參數(shù),還可以再次刷新。有興趣可以多試幾次。

代碼地址: https://gitee.com/blueses/spring-boot-security 25

以上就是SpringBootSecurity中OAuth2.0怎樣刷新token,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI