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