summaryrefslogtreecommitdiff
path: root/auth/cookie.go
blob: 61349fac3c1d74501e7eaadbfbb5670fdfc52bbb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

package auth

import (
	"fmt"
	"net/http"
	"time"

	"github.com/martinlehoux/kagamigo/core"
)

func CraftCookie(id core.ID, config AuthConfig) http.Cookie {
	expiresAt := time.Now().Add(24 * time.Hour)
	cookieValue := encrypt(config.CookieSecret, fmt.Sprintf("%s:%d", id.String(), expiresAt.Unix()))
	return http.Cookie{
		Domain:  config.Domain,
		Name:    "authentication",
		Value:   cookieValue,
		Expires: expiresAt,
		Path:    "/",
	}
}