summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authorBobby <[email protected]>2026-02-11 14:53:34 +0530
committerBobby <[email protected]>2026-02-11 14:53:34 +0530
commit3360be86fb6a595659c17f272d0c6072e512c154 (patch)
tree4b78aa8120909b596f219a0159a3532200a05b1a /config
parentd87e08e0fc5911b2ff40604944448e1f0aaa31b7 (diff)
downloadcafe-3360be86fb6a595659c17f272d0c6072e512c154.tar.xz
cafe-3360be86fb6a595659c17f272d0c6072e512c154.zip
Implement OpenID authentication flow, including user session management and user info retrieval
Diffstat (limited to 'config')
-rw-r--r--config/config.go5
-rw-r--r--config/env.go20
2 files changed, 18 insertions, 7 deletions
diff --git a/config/config.go b/config/config.go
index 41b0f5a..fb056ab 100644
--- a/config/config.go
+++ b/config/config.go
@@ -11,6 +11,7 @@ var (
Server server
Database database
Session session
+ OpenID openid
)
func init() {
@@ -29,4 +30,8 @@ func init() {
if err := env.Parse(&Session); err != nil {
log.Fatalf("Failed to parse SessionConfig: %v", err)
}
+
+ if err := env.Parse(&OpenID); err != nil {
+ log.Fatalf("Failed to parse OpenIDConfig: %v", err)
+ }
}
diff --git a/config/env.go b/config/env.go
index 7bdbfa2..73816b4 100644
--- a/config/env.go
+++ b/config/env.go
@@ -3,13 +3,19 @@ package config
import "time"
type server struct {
- Host string `env:"SERVER_HOST" default:"localhost"`
- Port int `env:"SERVER_PORT" default:"8080"`
- AppSecret string `env:"APP_SECRET" default:"mysecret"`
- AppName string `env:"APP_NAME" default:"Shifoo's Cafe"`
- AppDescription string `env:"APP_DESCRIPTION" default:"A cozy place for close friends"`
- OpenIDDiscoveryURL string `env:"OPENID_DISCOVERY_URL" default:""`
- DevMode bool `env:"DEV_MODE" default:"true"`
+ Host string `env:"SERVER_HOST" default:"localhost"`
+ Port int `env:"SERVER_PORT" default:"8080"`
+ AppSecret string `env:"APP_SECRET" default:"mysecret"`
+ AppName string `env:"APP_NAME" default:"Shifoo's Cafe"`
+ AppDescription string `env:"APP_DESCRIPTION" default:"A cozy place for close friends"`
+ DevMode bool `env:"DEV_MODE" default:"true"`
+}
+
+type openid struct {
+ DiscoveryURL string `env:"OPENID_DISCOVERY_URL" default:""`
+ ClientID string `env:"OPENID_CLIENT_ID" default:""`
+ ClientSecret string `env:"OPENID_CLIENT_SECRET" default:""`
+ CallbackURL string `env:"OPENID_CALLBACK_URL" default:"http://localhost:8080/auth/callback"`
}
type database struct {