gin-jwt对API进行权限控制
生活随笔
收集整理的這篇文章主要介紹了
gin-jwt对API进行权限控制
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前言
之前文章簡單介紹了如何運行gin+vue的前后端分離開源項目,該項目是學習了Gin實踐教程后結合vue-element-admin寫的,該教程講得很詳細,適合入門Gin。本篇文章將介紹gin+vue的前后端分離開源項目中如何使用gin-jwt對API進行權限驗證。
安裝gin-jwt
在GOPATH目錄下運行
go get github.com/appleboy/gin-jwt初始化jwt中間件
gin-jwt已經幫我們封裝成中間件了,我們只需要設置并實例化它就可以直接用了。
現在來看看項目中middleware/myjwt/gin_jwt.go文件:
總的就是調用jwt.New函數來實例化一個jwt.GinJWTMiddleware
然后我們看下jwt.GinJWTMiddleware中定義的屬性和方法
- TokenLookup:token檢索模式,用于提取token,默認值為header:Authorization。
- SigningAlgorithm:簽名算法,默認值為HS256
- Timeout:token過期時間,默認值為time.Hour
- TimeFunc:測試或服務器在其他時區可設置該屬性,默認值為time.Now
- TokenHeadName:token在請求頭時的名稱,默認值為Bearer
- IdentityKey:身份驗證的key值,默認值為identity
- Realm:可以理解成該中間件的名稱,用于展示,默認值為gin jwt
- CookieName:Cookie名稱,默認值為jwt
- privKey:私鑰
- pubKey:公鑰
- Authenticator函數:根據登錄信息對用戶進行身份驗證的回調函數
- PayloadFunc函數:登錄期間的回調的函數
- IdentityHandler函數:解析并設置用戶身份信息
- Authorizator函數:接收用戶信息并編寫授權規則,本項目的API權限控制就是通過該函數編寫授權規則的
- Unauthorized函數:處理不進行授權的邏輯
- LoginResponse函數:完成登錄后返回的信息,用戶可自定義返回數據,默認返回
- RefreshResponse函數:刷新token后返回的信息,用戶可自定義返回數據,默認返回
到這里我們應該就知道如何使用這個中間件了。
使用中間件
實例化中間件后,直接在路由組中使用該中間件就可以了
源碼地址:https://github.com/Bingjian-Zhu/gin-vue
轉載于:https://www.cnblogs.com/FireworksEasyCool/p/11455834.html
總結
以上是生活随笔為你收集整理的gin-jwt对API进行权限控制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 短期记忆容量必需有限
- 下一篇: 基于Hadoop的产品大数据分布式存储优