heruvym/middleware/middleware.go

36 lines
715 B
Go
Raw Normal View History

2021-05-15 14:03:10 +00:00
package middleware
import (
"github.com/themakers/hlog"
2021-09-05 15:24:13 +00:00
"heruvym/jwt_adapter"
2021-05-15 14:03:10 +00:00
"net/http"
2021-09-05 15:24:13 +00:00
"time"
2021-05-15 14:03:10 +00:00
)
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)
2021-09-05 15:24:13 +00:00
outToken, err := adapter.Encode()
2022-02-27 15:27:44 +00:00
const domain = ".fynrods.com"
2021-09-05 15:24:13 +00:00
http.SetCookie(w, &http.Cookie{
Name: jwt_adapter.DefaultHeaderKey,
Value: outToken,
Expires: time.Now().Add(time.Hour * 24 * 3),
Secure: true,
2022-02-27 15:27:44 +00:00
Domain: domain,
2021-09-05 15:24:13 +00:00
HttpOnly: true,
Path: "/",
})
2021-05-15 14:03:10 +00:00
return nil
}