No‑Op Auth
No‑Op Authorization
No‑Op Authorization is Conduit’s fallback authorization mode.
When enabled—or when all other authorization mechanisms are disabled or misconfigured—
Conduit allows all requests without performing any authentication or permission checks.
No‑Op Authorization
No‑Op Auth is the simplest authorization mode. It does not validate tokens, roles, or permissions. Every request is treated as fully authorized.
auth:
environmentEnabled: false
dbEnabled: false
When both environmentEnabled and dbEnabled are set to false, Conduit automatically uses No‑Op Auth.
Behavior
The No‑Op authenticator always returns success for any authorization request:
Authorize(...) → allowed = true
This means:
- All read operations are allowed
- All write operations are allowed
- All schema mutations are allowed
No‑Op Auth is ideal for:
- Local development
- Testing environments
- Internal tools without security requirements
- Deployments where authorization is handled externally (e.g., API gateways)
Implementation
Conduit’s No‑Op authenticator is intentionally minimal. It always reports itself as active and always authorizes every request.
type NoopAuth struct{}
func (noopAuth *NoopAuth) Authorize(...) {
return true, true, nil
}
func (noopAuth *NoopAuth) IsNoop() bool {
return true
}
Notes
- No‑Op Auth is automatically selected when no other auth mode is active.
- It is also used when database auth is misconfigured (empty table/columns/roles).
- No‑Op Auth should not be used in production unless external security controls exist.