server auth

This commit is contained in:
2026-05-28 08:35:50 -04:00
parent 3d44a392f1
commit fc63f9c44a
37 changed files with 3877 additions and 74 deletions

View File

@@ -0,0 +1,23 @@
package httpserver
import (
"context"
"net/http"
"github.com/tim/cairnquire/apps/server/internal/auth"
)
type authContextKey struct{}
func withPrincipal(ctx context.Context, principal auth.Principal) context.Context {
return context.WithValue(ctx, authContextKey{}, principal)
}
func principalFromContext(ctx context.Context) (auth.Principal, bool) {
principal, ok := ctx.Value(authContextKey{}).(auth.Principal)
return principal, ok
}
func requirePrincipal(r *http.Request) (auth.Principal, bool) {
return principalFromContext(r.Context())
}