美文网首页
jwt token 认证

jwt token 认证

作者: csimonj | 来源:发表于2019-03-28 20:55 被阅读0次

备注:jwt生成token,无法实现登出,可以考虑redis辅助实现登出

package certificate

import (
    "errors"
    "time"

    jwt "github.com/dgrijalva/jwt-go"
)

// GenToken 生成token
func GenToken(userName, secretKey string) (string, error) {
    claim := jwt.MapClaims{
        "exp":      time.Now().Add(time.Hour * time.Duration(1)).Unix(),
        "username": userName,
        "nbf":      time.Now().Unix(),
        "iat":      time.Now().Unix(),
    }

    token := jwt.NewWithClaims(jwt.SigningMethodHS256, claim)
    tokenStr, err := token.SignedString([]byte(secretKey))
    if err != nil {
        return "", err
    }

    return tokenStr, nil
}

// VerfyToken 验证token
func VerfyToken(token, secretKey string) (string, error) {
    tokenObj, err := jwt.Parse(token, func(*jwt.Token) (interface{}, error) {
        return []byte(secretKey), nil
    })
    if err != nil {
        return "", err
    }

    claims, ok := tokenObj.Claims.(jwt.MapClaims)
    if !ok {
        return "", errors.New("cannot convert claim to mapclaim")
    }

    if !tokenObj.Valid {
        return "", errors.New("token is invalid")
    }

    return claims["username"].(string), nil
}

相关文章

  • JWT认证原理分析

    基于session的认证 JWT认证规则 JWT(Json Web Token) JWT原理 签发算法 校验算法 ...

  • .NET Core5.0 JWT鉴权SSO单点登录

    JWT JWT全称“JSON Web Token”,是基于JSON的用户身份认证的令牌。可跨域身份认证,所以JWT...

  • 浅析JWT

    1.JWT(JSON Web Token) JSON Web Token (缩写JWT) 是目前最流行的跨域认证解...

  • 带你了解JWT

    @TOC 什么是JWT 认证方式 在JWT之前,我们用过Sssion来进行认证,也使用过Token认证。那么这两种...

  • JSON Web Token

    JSON Web Token (JWT)是一种基于 token 的认证方案。 JSON Web Token 的结构...

  • nodejs 收藏文章

    nodejs token Oauth认证 Oauth 认证-JWT 在Nodejs中使用JSON WEB Toke...

  • Spring Boot实战之Filter实现使用JWT进行接口认

    Spring Boot实战之Filter实现使用JWT进行接口认证 jwt(json web token) 用户发...

  • JWT入门 笔记

    JWT 定义 JWT 其全称为:JSON Web Token,JWT是一个“认证规范”。 简单地说就是 JSON ...

  • JWT相关学习(纯天然手写)

    JWT(Json Web Token)是一种token认证方式,相对于传统的session认证方式。 一、为什么需...

  • JWT

    JWT | 简介 全称:JSON Web Token; JWT 主要用于身份认证和信息加密; JWT 是一个简单而...

网友评论

      本文标题:jwt token 认证

      本文链接:https://www.haomeiwen.com/subject/zyfhbqtx.html