aboutsummaryrefslogtreecommitdiff
path: root/kauth/cookie.go
diff options
context:
space:
mode:
authorMartin Kagamino Lehoux <martin@lehoux.net>2023-10-24 08:38:40 +0200
committerMartin Kagamino Lehoux <martin@lehoux.net>2023-10-24 08:38:40 +0200
commita9927763f43d59c418b264790ccee59defe8ca29 (patch)
tree5dfc4f1f1f29d1ef1cbca3406bf57d1667b93f76 /kauth/cookie.go
parented23d402fec268e163ec895748f43e3254ba3dfd (diff)
refactor: Rename packages for clarityv0.3.0
Diffstat (limited to 'kauth/cookie.go')
-rw-r--r--kauth/cookie.go21
1 files changed, 21 insertions, 0 deletions
diff --git a/kauth/cookie.go b/kauth/cookie.go
new file mode 100644
index 0000000..edc30b7
--- /dev/null
+++ b/kauth/cookie.go
@@ -0,0 +1,21 @@
+package kauth
+
+import (
+ "fmt"
+ "net/http"
+ "time"
+
+ "github.com/martinlehoux/kagamigo/kcore"
+)
+
+func CraftCookie(id kcore.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: "/",
+ }
+}