日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

gin-jwt对API进行权限控制

發(fā)布時(shí)間:2024/7/5 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 gin-jwt对API进行权限控制 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前言

之前文章簡(jiǎn)單介紹了如何運(yùn)行g(shù)in+vue的前后端分離開源項(xiàng)目,該項(xiàng)目是學(xué)習(xí)了Gin實(shí)踐教程后結(jié)合vue-element-admin寫的,該教程講得很詳細(xì),適合入門Gin。本篇文章將介紹gin+vue的前后端分離開源項(xiàng)目中如何使用gin-jwt對(duì)API進(jìn)行權(quán)限驗(yàn)證。

安裝gin-jwt

在GOPATH目錄下運(yùn)行

go get github.com/appleboy/gin-jwt

初始化jwt中間件

gin-jwt已經(jīng)幫我們封裝成中間件了,我們只需要設(shè)置并實(shí)例化它就可以直接用了。
現(xiàn)在來看看項(xiàng)目中middleware/myjwt/gin_jwt.go文件:

總的就是調(diào)用jwt.New函數(shù)來實(shí)例化一個(gè)jwt.GinJWTMiddleware

然后我們看下jwt.GinJWTMiddleware中定義的屬性和方法

  • TokenLookup:token檢索模式,用于提取token,默認(rèn)值為header:Authorization。
  • SigningAlgorithm:簽名算法,默認(rèn)值為HS256
  • Timeout:token過期時(shí)間,默認(rèn)值為time.Hour
  • TimeFunc:測(cè)試或服務(wù)器在其他時(shí)區(qū)可設(shè)置該屬性,默認(rèn)值為time.Now
  • TokenHeadName:token在請(qǐng)求頭時(shí)的名稱,默認(rèn)值為Bearer
  • IdentityKey:身份驗(yàn)證的key值,默認(rèn)值為identity
  • Realm:可以理解成該中間件的名稱,用于展示,默認(rèn)值為gin jwt
  • CookieName:Cookie名稱,默認(rèn)值為jwt
  • privKey:私鑰
  • pubKey:公鑰
  • Authenticator函數(shù):根據(jù)登錄信息對(duì)用戶進(jìn)行身份驗(yàn)證的回調(diào)函數(shù)
  • PayloadFunc函數(shù):登錄期間的回調(diào)的函數(shù)
  • IdentityHandler函數(shù):解析并設(shè)置用戶身份信息
  • Authorizator函數(shù):接收用戶信息并編寫授權(quán)規(guī)則,本項(xiàng)目的API權(quán)限控制就是通過該函數(shù)編寫授權(quán)規(guī)則的
  • Unauthorized函數(shù):處理不進(jìn)行授權(quán)的邏輯
  • LoginResponse函數(shù):完成登錄后返回的信息,用戶可自定義返回?cái)?shù)據(jù),默認(rèn)返回
{"code": http.StatusOK,"token": token,"expire": expire.Format(time.RFC3339) }
  • RefreshResponse函數(shù):刷新token后返回的信息,用戶可自定義返回?cái)?shù)據(jù),默認(rèn)返回
{"code": http.StatusOK,"token": token,"expire": expire.Format(time.RFC3339) }

到這里我們應(yīng)該就知道如何使用這個(gè)中間件了。

使用中間件

實(shí)例化中間件后,直接在路由組中使用該中間件就可以了

源碼地址:https://github.com/Bingjian-Zhu/gin-vue

轉(zhuǎn)載于:https://www.cnblogs.com/FireworksEasyCool/p/11455834.html

總結(jié)

以上是生活随笔為你收集整理的gin-jwt对API进行权限控制的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。