cake-order-tracker/auth/token.go
2025-06-19 21:48:06 +02:00

30 lines
637 B
Go

package auth
import (
"net/http"
"time"
"github.com/Bronku/iroon/crypto"
"github.com/Bronku/iroon/models"
)
func (a *Authenticator) newSession(user string) (http.Cookie, error) {
key := crypto.GenerateKey()
var session models.Token
var cookie http.Cookie
session.User = user
session.Expiration = time.Now().Add(time.Hour * 24)
a.sessions[key] = session
err := a.s.AddSession(key, user, session.Expiration)
if err != nil {
return cookie, err
}
cookie.Name = "token"
cookie.Value = key
cookie.HttpOnly = true
cookie.SameSite = http.SameSiteStrictMode
cookie.Path = "/"
//cookie.Secure = true
return cookie, nil
}