23 lines
428 B
Go
23 lines
428 B
Go
package jwtauth
|
|
|
|
import (
|
|
"encoding/base64"
|
|
"os"
|
|
|
|
"github.com/golang-jwt/jwt/v5"
|
|
)
|
|
|
|
func GenerateJwtToken(username string) (string, error) {
|
|
var s string
|
|
key, err := base64.URLEncoding.DecodeString(os.Getenv(getKeyVariableName()))
|
|
if err != nil {
|
|
return s, err
|
|
}
|
|
t := jwt.NewWithClaims(jwt.SigningMethodHS256,
|
|
jwt.MapClaims{
|
|
"iss": "PersonalLibraryManager",
|
|
"sub": username,
|
|
})
|
|
return t.SignedString(key)
|
|
}
|