cake-order-tracker/internal/auth/token.go
2025-03-28 21:53:04 +01:00

30 lines
655 B
Go

package auth
import (
"net/http"
"time"
"github.com/Bronku/iroon/internal/crypto"
"github.com/Bronku/iroon/internal/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
}