diff options
Diffstat (limited to 'auth/cookie.go')
| -rw-r--r-- | auth/cookie.go | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/auth/cookie.go b/auth/cookie.go new file mode 100644 index 0000000..61349fa --- /dev/null +++ b/auth/cookie.go @@ -0,0 +1,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: "/", + } +} |
