add basic user authentication

This commit is contained in:
2025-10-01 21:43:37 +02:00
parent 57355fe9ac
commit f20e177480
16 changed files with 338 additions and 51 deletions

22
internal/jwtauth/jwt.go Normal file
View File

@@ -0,0 +1,22 @@
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)
}