From 52fdf8bccd9e11c5981fb38169ae6db384f345e1 Mon Sep 17 00:00:00 2001 From: Athurg Gooth Date: Mon, 13 Nov 2023 13:52:04 +0800 Subject: [PATCH] fix: persist jwt expires by cookie (#2509) 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 ae15300b..acedd169 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)