當(dāng)前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
关于go语言中的JWT(JSON WEB TONKE)ECHO
生活随笔
收集整理的這篇文章主要介紹了
关于go语言中的JWT(JSON WEB TONKE)ECHO
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
jwt用作驗(yàn)證用戶登錄,很好的解決了session單點(diǎn)的問題
//驗(yàn)證 //在調(diào)用Parse時(shí),會(huì)進(jìn)行加密驗(yàn)證,同時(shí)如果提供了exp,會(huì)進(jìn)行過期驗(yàn)證; //如果提供了iat,會(huì)進(jìn)行發(fā)行時(shí)間驗(yàn)證;如果提供了nbf,會(huì)進(jìn)行發(fā)行時(shí)間驗(yàn)證.//創(chuàng)建 tokenString func createJwt() (string, error) {// token := jwt.NewWithClaims(jwt.SigningMethodHS256, jwt.MapClaims{// "foo": "bar",// "nbf": time.Date(2015, 10, 10, 12, 0, 0, 0, time.UTC).Unix(),// })token := jwt.New(jwt.SigningMethodHS256)claims := make(jwt.MapClaims)claims["foo"] = "bar"claims["exp"] = time.Now().Add(time.Hour * time.Duration(1)).Unix()claims["iat"] = time.Now().Unix()token.Claims = claims// Sign and get the complete encoded token as a string using the secrettokenString, err := token.SignedString([]byte(TOKEN))return tokenString, err }//解析tokenString func parseJwt(tokenString string) jwt.MapClaims {token, err := jwt.Parse(tokenString, func(token *jwt.Token) (interface{}, error) {// Don't forget to validate the alg is what you expect:if _, ok := token.Method.(*jwt.SigningMethodHMAC); !ok {return nil, fmt.Errorf("Unexpected signing method: %v", token.Header["alg"])}// hmacSampleSecret is a []byte containing your secret, e.g. []byte("my_secret_key")return []byte(TOKEN), nil})var claims jwt.MapClaimsvar ok boolif claims, ok = token.Claims.(jwt.MapClaims); ok && token.Valid {fmt.Println(claims["foo"], claims["nbf"])} else {fmt.Println(err)}return claims }總結(jié)
以上是生活随笔為你收集整理的关于go语言中的JWT(JSON WEB TONKE)ECHO的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于Javaweb部署到linux服务器
- 下一篇: 下载文件的响应头设置