123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- /*
- * @Author: LinkLeong link@icewhale.com
- * @Date: 2021-09-30 18:18:14
- * @LastEditors: LinkLeong
- * @LastEditTime: 2022-06-24 10:02:46
- * @FilePath: /CasaOS/pkg/utils/jwt/jwt.go
- * @Description:
- * @Website: https://www.casaos.io
- * Copyright (c) 2022 by icewhale, All Rights Reserved.
- */
- package jwt
- import (
- "time"
- jwt "github.com/golang-jwt/jwt/v4"
- )
- // type Claims struct {
- // UserName string `json:"username"`
- // PassWord string `json:"password"`
- // Id int `json:"id"`
- // jwt.RegisteredClaims
- // }
- // var jwtSecret []byte
- // //创建token
- // func GenerateToken(username, password string, id int, issuer string, t time.Duration) (string, error) {
- // clims := Claims{
- // username,
- // password,
- // id,
- // jwt.RegisteredClaims{
- // ExpiresAt: jwt.NewNumericDate(time.Now().Add(t)),
- // IssuedAt: jwt.NewNumericDate(time.Now()),
- // NotBefore: jwt.NewNumericDate(time.Now()),
- // Issuer: issuer,
- // },
- // }
- // tokenClaims := jwt.NewWithClaims(jwt.SigningMethodHS256, clims)
- // token, err := tokenClaims.SignedString(jwtSecret)
- // return token, err
- // }
- // //解析token
- // func ParseToken(token string) (*Claims, error) {
- // tokenClaims, err := jwt.ParseWithClaims(token, &Claims{}, func(token *jwt.Token) (interface{}, error) {
- // return jwtSecret, nil
- // })
- // if tokenClaims != nil {
- // if clims, ok := tokenClaims.Claims.(*Claims); ok && tokenClaims.Valid {
- // return clims, nil
- // }
- // }
- // return nil, err
- // }
- //****************** soon to be removed ******************
- type Claims struct {
- UserName string `json:"username"`
- PassWord string `json:"password"`
- jwt.StandardClaims
- }
- var jwtSecret []byte
- //创建token
- func GenerateToken(username, password string) (string, error) {
- expireTime := time.Now().AddDate(999, 0, 0)
- clims := Claims{
- username,
- password,
- jwt.StandardClaims{
- ExpiresAt: expireTime.Unix(),
- Issuer: "gin-blog",
- },
- }
- tokenClaims := jwt.NewWithClaims(jwt.SigningMethodHS256, clims)
- token, err := tokenClaims.SignedString(jwtSecret)
- return token, err
- }
- //解析token
- func ParseToken(token string) (*Claims, error) {
- tokenClaims, err := jwt.ParseWithClaims(token, &Claims{}, func(token *jwt.Token) (interface{}, error) {
- return jwtSecret, nil
- })
- if tokenClaims != nil {
- if clims, ok := tokenClaims.Claims.(*Claims); ok && tokenClaims.Valid {
- return clims, nil
- }
- }
- return nil, err
- }
|