summaryrefslogtreecommitdiff
path: root/modules/caddyhttp/caddyauth/caddyauth.go
diff options
context:
space:
mode:
Diffstat (limited to 'modules/caddyhttp/caddyauth/caddyauth.go')
-rw-r--r--modules/caddyhttp/caddyauth/caddyauth.go13
1 files changed, 12 insertions, 1 deletions
diff --git a/modules/caddyhttp/caddyauth/caddyauth.go b/modules/caddyhttp/caddyauth/caddyauth.go
index dc1dc99..a6165d4 100644
--- a/modules/caddyhttp/caddyauth/caddyauth.go
+++ b/modules/caddyhttp/caddyauth/caddyauth.go
@@ -77,7 +77,10 @@ func (a Authentication) ServeHTTP(w http.ResponseWriter, r *http.Request, next c
}
repl := r.Context().Value(caddy.ReplacerCtxKey).(*caddy.Replacer)
- repl.Set("http.authentication.user.id", user.ID)
+ repl.Set("http.auth.user.id", user.ID)
+ for k, v := range user.Metadata {
+ repl.Set("http.auth.user."+k, v)
+ }
return next.ServeHTTP(w, r)
}
@@ -92,7 +95,15 @@ type Authenticator interface {
// User represents an authenticated user.
type User struct {
+ // The ID of the authenticated user.
ID string
+
+ // Any other relevant data about this
+ // user. Keys should be adhere to Caddy
+ // conventions (snake_casing), as all
+ // keys will be made available as
+ // placeholders.
+ Metadata map[string]string
}
// Interface guards