feat: add tenant authorization middleware

This commit is contained in:
Philipp
2026-06-11 08:14:22 +02:00
parent b08b52dd1b
commit 452d4c5f71
10 changed files with 432 additions and 1 deletions
+28
View File
@@ -0,0 +1,28 @@
package membership
import (
"context"
"net/http"
"proxui/backend/internal/rbac"
)
type Membership struct {
TenantID string `json:"tenant_id"`
Role rbac.Role `json:"role"`
}
type contextKey struct{}
func ContextWithMembership(ctx context.Context, membership Membership) context.Context {
return context.WithValue(ctx, contextKey{}, membership)
}
func FromContext(ctx context.Context) (Membership, bool) {
membership, ok := ctx.Value(contextKey{}).(Membership)
return membership, ok
}
func FromRequest(r *http.Request) (Membership, bool) {
return FromContext(r.Context())
}