aboutsummaryrefslogtreecommitdiff
path: root/session
diff options
context:
space:
mode:
authorBobby <[email protected]>2026-03-07 14:25:54 +0530
committerBobby <[email protected]>2026-03-07 14:25:54 +0530
commit41926c10ea2e8496ce4b528262f5047ccbe6f155 (patch)
tree67ff5a27bb50faec368cf7ef38a1b1f2866459dd /session
parented2a033d7c08e448f5c6fd035e2de8f51431b597 (diff)
downloaddove-41926c10ea2e8496ce4b528262f5047ccbe6f155.tar.xz
dove-41926c10ea2e8496ce4b528262f5047ccbe6f155.zip
Implement authentication system with login/logout functionality and session management
Diffstat (limited to 'session')
-rw-r--r--session/constants.go10
-rw-r--r--session/session.go23
2 files changed, 33 insertions, 0 deletions
diff --git a/session/constants.go b/session/constants.go
new file mode 100644
index 0000000..d6a7f69
--- /dev/null
+++ b/session/constants.go
@@ -0,0 +1,10 @@
+package session
+
+import "time"
+
+const (
+ LOG_PREFIX = "Session"
+ SESSION_COOKIE_NAME = "dove_session"
+ SESSION_COOKIE_SAME_SITE = "Lax"
+ SESSION_EXPIRATION = 24 * time.Hour
+)
diff --git a/session/session.go b/session/session.go
new file mode 100644
index 0000000..89b7ef8
--- /dev/null
+++ b/session/session.go
@@ -0,0 +1,23 @@
+package session
+
+import (
+ "fmt"
+
+ "dove/messages"
+ "dove/utils/logger"
+
+ "github.com/gofiber/fiber/v2/middleware/session"
+)
+
+var Store *session.Store
+
+func init() {
+ Store = session.New(session.Config{
+ KeyLookup: fmt.Sprintf("cookie:%s", SESSION_COOKIE_NAME),
+ CookieHTTPOnly: true,
+ CookieSameSite: SESSION_COOKIE_SAME_SITE,
+ Expiration: SESSION_EXPIRATION,
+ })
+
+ logger.Successf(LOG_PREFIX, messages.SessionInitialized)
+}