SpringBootSecurity學習(20)先後端分離版之OAuth2.0刷新token

刷新token

前面的例子和配置都是從頭開始申請受權碼和令牌,如今來看一下如何根據獲取令牌時,回參中的 refresh_token 來刷新令牌。如今在項目中配置的是內存模式的默認用戶名密碼,第一步先改爲數據庫查詢的方式,具體過程參考前面的文章便可,來看security配置類:html

file

而後修改受權服務配置類,在 endpoints 中配置userDetailsService:git

file

修改爲數據庫方式也是爲了建立userDetailsService對象,刷新令牌時會根據此對象對用戶信息進行檢查。這樣刷新令牌的配置就完成了。spring

測試

首先根據前面的正常流程,申請受權碼,而後獲取到令牌:數據庫

file

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

  • /oauth/token

不一樣的是,刷新令牌須要四個參數:post

  • grant_type:值必須是 refresh_token測試

  • client_idspa

  • client_secrethtm

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

經過上面四個參數能夠看出,刷新令牌中每次變化的參數只有refresh_token。咱們來使用本次獲取的 refresh_token 來刷新令牌:

file

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

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

本文由博客一文多發平臺 OpenWrite 發佈!

原文出處:https://www.cnblogs.com/guos/p/11656730.html

相關文章
相關標籤/搜索