go JWT RS256 加解密 "key is of invalid type"

go JWT RS256 加解密 "key is of invalid type"

import (
	"fmt"
	"github.com/dgrijalva/jwt-go"
	"time"
)

func signed(name string, key interface{}) (string, error) {
	tk := jwt.NewWithClaims(jwt.SigningMethodRS256, jwt.MapClaims{
		"exp":  fmt.Sprintf("%d", time.Now().Add(time.Minute).Unix()),
		//"exp": time.Now().Add(time.Minute).Unix(),
		"sub":   "1234567890",
		"name":  name,
		"admin": true,
		"iat":   1516239022,
	})
	return tk.SignedString(key)
}

func pares(tokenString string, key interface{}) (interface{}, bool) {
	token, err := jwt.Parse(tokenString, func(token *jwt.Token) (interface{}, error) {
		//if _, ok := token.Method.(*jwt.SigningMethodHMAC); !ok {
		//	return nil, fmt.Errorf("Unexpected signing method: %v", token.Header["alg"])
		//}
		if _, ok := token.Method.(*jwt.SigningMethodRSA); !ok {
			return nil, fmt.Error
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值