Development Mode
When running in Development or Simulation mode without an OIDC provider, Adsify activates a DevBypass authentication handler that grants full admin access to all endpoints.
When is DevBypass active?
Both conditions must be true:
ASPNETCORE_ENVIRONMENTisDevelopmentorSimulationAuthentication:Authorityis empty or not configured
Simulation is unauthenticated by design, the same as Development: it exists to
run the API against a simulated PLC with zero setup, and DevBypass — full admin
access, no token required — is part of that zero-setup story. This is a
local-development-only profile. Never run a Simulation deployment on a shared
network.DevBypass claims
The bypass handler issues a token with:
| Claim | Value |
|---|---|
| Role | admin |
| Scopes | ads:read, ads:write, ads:lifecycle |
This means all endpoints are accessible without authentication headers.
Running locally
ASPNETCORE_ENVIRONMENT=Development dotnet run \
--project src/Adsify.Api \
--urls "http://localhost:5000"Running tests
dotnet test Adsify.slnThe integration tests use their own TestAuthHandler that supports configurable roles, scopes, and plc_access claims per test.