parent
d40595cacb
commit
215c630ba0
3 changed files with 10 additions and 4 deletions
|
@ -17,6 +17,6 @@ type Session struct {
|
|||
}
|
||||
|
||||
func (session *Session) IsExpired() bool {
|
||||
// TODO
|
||||
return false
|
||||
expires := session.Created.Add(12 * time.Hour) // 12 hours sessions
|
||||
return time.Now().After(expires)
|
||||
}
|
||||
|
|
|
@ -86,7 +86,7 @@ func handleLoginPOST(db *database.DB) http.Handler {
|
|||
Value: sessionId,
|
||||
Quoted: false,
|
||||
Path: "/",
|
||||
MaxAge: 8 * 3600, // 1 hour sessions
|
||||
MaxAge: 12 * 3600, // 12 hours sessions
|
||||
HttpOnly: true,
|
||||
SameSite: http.SameSiteStrictMode,
|
||||
Secure: true,
|
||||
|
|
|
@ -31,7 +31,13 @@ func sessionsMiddleware(db *database.DB) func(http.Handler) http.Handler {
|
|||
}
|
||||
if session == nil {
|
||||
unsetSesssionCookie(w)
|
||||
} else if !session.IsExpired() {
|
||||
} else if session.IsExpired() {
|
||||
unsetSesssionCookie(w)
|
||||
if err := db.DeleteSession(session); err != nil {
|
||||
errorResponse(w, r, http.StatusInternalServerError, err)
|
||||
return
|
||||
}
|
||||
} else {
|
||||
if err := db.TouchSession(cookie.Value); err != nil {
|
||||
errorResponse(w, r, http.StatusInternalServerError, err)
|
||||
return
|
||||
|
|
Loading…
Add table
Reference in a new issue