JSON Web Token (JWT)
This guide will show you how to work with JSON Web Tokens using our security package.
Supported Algorithms
- HMAC:
security.HS256
,security.HS384
,security.HS512
- RSA:
security.RS256
,security.RS384
,security.RS512
- ECDSA:
security.ES256
,security.ES384
,security.ES512
- EdDSA:
security.EdDSA
Creating a JWT
token := security.NewJWT(security.JwtClaims{
"sub": "1234567890",
"name": "John Doe",
"iat": time.Now().Unix(),
"exp": time.Now().Add(time.Hour * 24).Unix(),
})
Signing a JWT
// // The default signing algorithm is HS256
// // You can set a different algorithm like so:
// token.SetAlgorithm(security.RS256)
secret := []byte("your-secret-key")
signedToken, err := token.Sign(secret)
if err != nil {
panic(err)
}
Verifying a JWT
verifiedToken, err := security.VerifyJWT(signedToken, key)
if err != nil {
panic(err)
}
fmt.Println("Verified Claims:", verifiedToken.JwtClaims)