heruvym/middleware/middleware.go
2022-02-27 18:27:44 +03:00

36 lines
715 B
Go

package middleware
import (
"github.com/themakers/hlog"
"heruvym/jwt_adapter"
"net/http"
"time"
)
func setJwtHeader(adapter *jwt_adapter.JwtAdapter, w http.ResponseWriter, logger hlog.Logger) error {
adapter.LastSeen = jwt_adapter.Timestamp()
token, err := adapter.Encode()
if err != nil {
logger.Emit(ErrorJwtEncode{Err: err})
return err
}
w.Header().Set(jwt_adapter.DefaultHeaderKey, token)
outToken, err := adapter.Encode()
const domain = ".fynrods.com"
http.SetCookie(w, &http.Cookie{
Name: jwt_adapter.DefaultHeaderKey,
Value: outToken,
Expires: time.Now().Add(time.Hour * 24 * 3),
Secure: true,
Domain: domain,
HttpOnly: true,
Path: "/",
})
return nil
}