implement jwt claims

This commit is contained in:
2024-09-24 11:11:28 -05:00
parent f6e9ee7b1a
commit a7235941e7
5 changed files with 63 additions and 2 deletions

View File

@@ -21,7 +21,7 @@ const (
Login = "/login"
RenewAttributes = "/renew-attributes"
RandomSvgInterface = "/random-svg-interface"
RefreshToken = "refresh-token"
RefreshToken = "/refresh-token"
)
func (h *NKodeHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
@@ -367,7 +367,45 @@ func (h *NKodeHandler) RandomSvgInterfaceHandler(w http.ResponseWriter, r *http.
}
func (h *NKodeHandler) RefreshTokenHandler(w http.ResponseWriter, r *http.Request) {
if r.Method != http.MethodPost {
methodNotAllowed(w)
}
var refreshTokenPost RefreshTokenPost
err := decodeJson(w, r, &refreshTokenPost)
if err != nil {
internalServerErrorHandler(w)
log.Println(err)
return
}
customerId, err := uuid.Parse(refreshTokenPost.CustomerId)
if err != nil {
internalServerErrorHandler(w)
log.Println(err)
return
}
accessToken, err := h.Api.RefreshToken(Username(refreshTokenPost.Username), CustomerId(customerId), refreshTokenPost.RefreshToken)
if err != nil {
internalServerErrorHandler(w)
log.Println(err)
return
}
respBytes, err := json.Marshal(RefreshTokenResp{AccessToken: accessToken})
if err != nil {
internalServerErrorHandler(w)
log.Println(err)
return
}
_, err = w.Write(respBytes)
if err != nil {
internalServerErrorHandler(w)
log.Println(err)
return
}
w.WriteHeader(http.StatusOK)
}
func decodeJson(w http.ResponseWriter, r *http.Request, post any) error {