Documentation
¶
Index ¶
- Variables
- func AdminRolesFromConfigFile(path string) []string
- func AdminRolesFromEnv() []string
- func DevBypass() bool
- func ProxyHandler(inner http.Handler, c Config) http.Handler
- func ReadAdminConfigFile(path string) ([]byte, error)
- func RequireAdmin(c Config, next http.Handler) http.Handler
- func VerifyHandler(c Config) http.HandlerFunc
- type Config
- type Result
Constants ¶
This section is empty.
Variables ¶
var DefaultAdminRoles = []string{"admin", "supatype_admin"}
DefaultAdminRoles are allowed Studio admin roles when config/env omit overrides.
Functions ¶
func AdminRolesFromConfigFile ¶
AdminRolesFromConfigFile merges adminRoles from admin-config.json when present.
func AdminRolesFromEnv ¶
func AdminRolesFromEnv() []string
AdminRolesFromEnv reads STUDIO_ADMIN_ROLES (comma-separated) or returns defaults.
func DevBypass ¶
func DevBypass() bool
DevBypass is true when local open Studio is explicitly enabled (supatype dev docker only).
func ProxyHandler ¶
ProxyHandler forwards privileged API calls after admin JWT verification. inner must be the main service mux (without /studio routes).
func ReadAdminConfigFile ¶
ReadAdminConfigFile reads admin-config.json from a relative path under the working directory.
func RequireAdmin ¶
RequireAdmin wraps a handler with studio admin JWT checks (skipped when DevBypass).
func VerifyHandler ¶
func VerifyHandler(c Config) http.HandlerFunc
VerifyHandler serves GET /studio/auth/verify.
Types ¶
type Config ¶
Config holds studio auth handler dependencies.
func ConfigFromServer ¶
func ConfigFromServer(cfg *serverconf.ServerConfig) Config
ConfigFromServer builds handler config from ServerConfig and admin-config path.
type Result ¶
Result is the outcome of an admin JWT check.
func VerifyBearerToken ¶
VerifyBearerToken validates a user JWT and checks studio admin role membership. Role resolution: app_metadata.role first, then top-level role when it is an admin role.