From c0f61bd5ee581cbbd0059e528dc72aa789d8acf6 Mon Sep 17 00:00:00 2001 From: Athurg Feng Date: Mon, 13 Nov 2023 11:00:37 +0800 Subject: [PATCH] fix pesist jwt expires by cookie --- api/v1/auth.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/api/v1/auth.go b/api/v1/auth.go index ae15300b2b0a6..acedd169fed90 100644 --- a/api/v1/auth.go +++ b/api/v1/auth.go @@ -106,8 +106,11 @@ func (s *APIV1Service) SignIn(c echo.Context) error { } var expireAt time.Time + // Set cookie expiration to 100 years to make it persistent. + cookieExp := time.Now().AddDate(100, 0, 0) if !signin.Remember { expireAt = time.Now().Add(auth.AccessTokenDuration) + cookieExp = time.Now().Add(auth.CookieExpDuration) } accessToken, err := auth.GenerateAccessToken(user.Username, user.ID, expireAt, []byte(s.Secret)) @@ -117,7 +120,6 @@ func (s *APIV1Service) SignIn(c echo.Context) error { if err := s.UpsertAccessTokenToStore(ctx, user, accessToken); err != nil { return echo.NewHTTPError(http.StatusInternalServerError, fmt.Sprintf("failed to upsert access token, err: %s", err)).SetInternal(err) } - cookieExp := time.Now().Add(auth.CookieExpDuration) setTokenCookie(c, auth.AccessTokenCookieName, accessToken, cookieExp) userMessage := convertUserFromStore(user) return c.JSON(http.StatusOK, userMessage)