From a9f6c5c5868a7b4fc12da525f9c635eda9755b23 Mon Sep 17 00:00:00 2001 From: nic-chen Date: Tue, 10 Nov 2020 17:28:18 +0800 Subject: [PATCH] fix: used dashboard add consumer of jwt, would have an error when get the jwt token --- api/internal/handler/consumer/consumer.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/api/internal/handler/consumer/consumer.go b/api/internal/handler/consumer/consumer.go index 9ceb85360b..a37c95862e 100644 --- a/api/internal/handler/consumer/consumer.go +++ b/api/internal/handler/consumer/consumer.go @@ -105,6 +105,13 @@ func (h *Handler) Create(c droplet.Context) (interface{}, error) { } input.ID = input.Username + if _, ok := input.Plugins["jwt-auth"]; ok { + jwt := input.Plugins["jwt-auth"].(map[string]interface{}) + jwt["exp"] = 86400 + + input.Plugins["jwt-auth"] = jwt + } + if err := h.consumerStore.Create(c.Context(), input); err != nil { return handler.SpecCodeResponse(err), err } @@ -128,6 +135,13 @@ func (h *Handler) Update(c droplet.Context) (interface{}, error) { } input.Consumer.ID = input.Consumer.Username + if _, ok := input.Consumer.Plugins["jwt-auth"]; ok { + jwt := input.Consumer.Plugins["jwt-auth"].(map[string]interface{}) + jwt["exp"] = 86400 + + input.Consumer.Plugins["jwt-auth"] = jwt + } + if err := h.consumerStore.Update(c.Context(), &input.Consumer, true); err != nil { //if not exists, create if err.Error() == fmt.Sprintf("key: %s is not found", input.Username) {