feat: add backend jwt middleware

This commit is contained in:
Philipp
2026-06-10 16:23:55 +02:00
parent d87d8c6be7
commit 9947286b1e
12 changed files with 795 additions and 20 deletions
+27
View File
@@ -0,0 +1,27 @@
package auth
import (
"context"
"net/http"
)
type Principal struct {
Subject string
Email string
Role string
}
type principalContextKey struct{}
func PrincipalFromContext(ctx context.Context) (Principal, bool) {
principal, ok := ctx.Value(principalContextKey{}).(Principal)
return principal, ok
}
func withPrincipal(ctx context.Context, principal Principal) context.Context {
return context.WithValue(ctx, principalContextKey{}, principal)
}
func PrincipalFromRequest(r *http.Request) (Principal, bool) {
return PrincipalFromContext(r.Context())
}