gobuch/microservices/jwt/server/jwt/token.go
2020-08-21 06:26:40 +02:00

28 lines
607 B
Go

package jwt
import (
"time"
"github.com/SermoDigital/jose/crypto"
"github.com/SermoDigital/jose/jws"
)
var key = []byte("meinGeheimerSchlüssel")
func CreateToken(user string) ([]byte, error) {
claims := jws.Claims{}
claims.SetAudience("source-fellows.com")
claims.SetIssuer(user)
claims.SetExpiration(time.Now().Add(time.Minute * 10))
token := jws.NewJWT(claims, crypto.SigningMethodHS256)
return token.Serialize(key)
}
func ValidateToken(token []byte) error {
newToken, err := jws.ParseJWT(token)
if err != nil {
return err
}
return newToken.Validate(key, crypto.SigningMethodHS256)
}