From db3baa0328686d1ec86dc99d5adac0af3cd9a738 Mon Sep 17 00:00:00 2001 From: James Tombleson Date: Sat, 13 Apr 2024 11:54:54 -0700 Subject: [PATCH] jwt now sends the issuer --- api/handlers/v1/auth.go | 2 +- api/handlers/v1/jwt.go | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/api/handlers/v1/auth.go b/api/handlers/v1/auth.go index 209903c..f7404dc 100644 --- a/api/handlers/v1/auth.go +++ b/api/handlers/v1/auth.go @@ -84,7 +84,7 @@ func (h *Handler) AuthLogin(c echo.Context) error { return h.InternalServerErrorResponse(c, err.Error()) } - token, err := h.generateJwt(username) + token, err := h.generateJwt(username, h.Config.ApiUri) if err != nil { return h.InternalServerErrorResponse(c, err.Error()) } diff --git a/api/handlers/v1/jwt.go b/api/handlers/v1/jwt.go index 6bf9530..0fc2f7d 100644 --- a/api/handlers/v1/jwt.go +++ b/api/handlers/v1/jwt.go @@ -56,14 +56,16 @@ func (j JwtToken) hasScope(scope string) error { return errors.New(ErrJwtScopeMissing) } -func (h *Handler) generateJwt(username string) (string, error) { +func (h *Handler) generateJwt(username, issuer string) (string, error) { secret := []byte(h.Config.JwtSecret) + // Anyone who wants to decrypt the key needs to use the same method token := jwt.New(jwt.SigningMethodHS256) claims := token.Claims.(jwt.MapClaims) claims["exp"] = time.Now().Add(10 * time.Minute) claims["authorized"] = true claims["username"] = username + claims["iss"] = issuer var scopes []string scopes = append(scopes, domain.ScopeRecipeRead)