校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > golang jwt+token驗證的實現

golang jwt+token驗證的實現

熱門標簽:江蘇呼叫中心外呼系統有效果嗎 400開頭電話怎樣申請 杭州人工智能電銷機器人費用 赤峰電銷 利用地圖標注位置 地圖區域圖標注后導出 谷歌美發店地圖標注 貴州電話智能外呼系統 官渡電銷外呼管理系統怎么收費

Token驗證是驗證用戶身份的重要方式,在golang開發中具有廣泛應用,文中主要闡述了利用jwt包加密后的token驗證。

導入包:

import (
  "github.com/dgrijalva/jwt-go"
)
// GenerateToken 生成Token
func GenerateToken(mapClaims jwt.MapClaims, key string) (string, error) {
  token := jwt.NewWithClaims(jwt.SigningMethodHS256, mapClaims)
  return token.SignedString([]byte(key))
}
// 驗證token
func checkToken(uid int64,token *jwt.Token) bool {
  tokens, _ := token.SignedString([]byte(JWTKey))
  redisToken, _ := GetMemberToken(uid)
  if tokens != redisToken {
   return false
  }
  return true
}

用戶登錄請求取出token

token, err := request.ParseFromRequest(r, request.AuthorizationHeaderExtractor, func(token *jwt.Token) (interface{}, error) {
  return []byte(JWTKey), nil
})
if err == nil  token.Valid {
  tokenMap := token.Claims.(jwt.MapClaims)
  uidStr := tokenMap["uid"].(string)
  uid, _ := strconv.ParseInt(uidStr,10,64)

  if !checkToken(uid, token) {
   // 驗證token 是否合法
   base.ErrorResponse(w, http.StatusUnauthorized, "Authorization Is Invalid")
   return
  }
}

token主要是生成,驗證,以及用戶請求時解析token得出用戶uid和token的有效性

到此這篇關于golang jwt+token驗證的實現的文章就介紹到這了,更多相關golang jwt+token驗證內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • golang之JWT實現的示例代碼
  • 詳解Go-JWT-RESTful身份認證教程

標簽:黔西 保定 松原 泰安 宜春 河池 武漢 鷹潭

巨人網絡通訊聲明:本文標題《golang jwt+token驗證的實現》,本文關鍵詞  golang,jwt+token,驗證,的,實現,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《golang jwt+token驗證的實現》相關的同類信息!
  • 本頁收集關于golang jwt+token驗證的實現的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 始兴县| 镇坪县| 麻城市| 东辽县| 正定县| 修武县| 庐江县| 乌鲁木齐县| 泸定县| 江北区| 营口市| 道孚县| 新邵县| 依兰县| 蒙城县| 绍兴市| 苏尼特左旗| 鲁甸县| 山西省| 日喀则市| 古丈县| 龙井市| 临潭县| 镇江市| 福海县| 塘沽区| 德兴市| 靖西县| 天峨县| 綦江县| 镇康县| 色达县| 湘乡市| 阿拉善左旗| 全南县| 长岛县| 雷州市| 洱源县| 隆德县| 秭归县| 晋中市|