Skip to main content

Authentication

Both the Registry Dashboard and Policy Manager Dashboard support OIDC and LDAP authentication. By default, dashboards are accessible without authentication.

OIDC (Auth0, Okta, Entra ID, Keycloak)

Configure each dashboard separately through its built-in setup UI:

  1. Open the dashboard and navigate to Settings > Authentication
  2. Select OIDC and enter:
FieldDescriptionExample
Issuer URLYour IdP's issuerhttps://yourco.auth0.com/
Client IDOAuth client IDabc123...
Client SecretOAuth client secretsecret_...
Redirect URICallback URLhttps://localhost:8443/auth/callback
Admin GroupGroup required for admin accesswatchlight-admins
  1. Click Test to verify connectivity, then Save

Both dashboards can share the same IdP but need separate OAuth client registrations (different redirect URIs).

Redirect URIs

DashboardRedirect URI
Registry (https://localhost:8443)https://localhost:8443/auth/callback
Policy Manager (https://localhost)https://localhost/auth/callback

Provider-Specific Notes

  • Auth0: Create a Regular Web Application per dashboard. Add callback URLs to Allowed Callback URLs. Enable RBAC and add groups to the ID token.
  • Okta: Create Web Applications with Authorization Code flow. The groups claim is available via the okta.groups scope.
  • Entra ID (Azure AD): Register App Registrations with separate redirect URIs. Use api:// audience. Enable group claims in Token Configuration.
  • Keycloak: Create clients with Standard Flow. Map group membership to the groups claim via Protocol Mappers.

LDAP

  1. Open the dashboard and navigate to Settings > Authentication
  2. Select LDAP and enter:
FieldDescriptionExample
Server URLLDAP serverldap://ldap.yourco.com:389
Bind DNService account DNcn=svc-beacon,ou=services,dc=yourco,dc=com
Bind PasswordService account password...
User Search BaseWhere to find usersou=people,dc=yourco,dc=com
User Search FilterUsername filter(uid={0})
Group Search BaseWhere to find groupsou=groups,dc=yourco,dc=com
Admin GroupRequired group DN or namecn=beacon-admins,ou=groups,...
Use StartTLSEncrypt connectionRecommended
  1. Click Test with a real username/password, then Save
tip

For production, always enable StartTLS or use ldaps://. You can provide a custom CA certificate if your LDAP server uses a private CA.

Environment Variable Overrides

Authentication can also be configured via environment variables on the service containers:

VariableServiceDefaultPurpose
ADMIN_GROUPwl-registry(none)OIDC/LDAP group required for admin
ADMIN_GROUP_CLAIMwl-registrygroupsJWT claim containing groups
AUTH_REQUIRE_AUTHwl-apdptrueEnforce authentication
AUTH_ALLOW_ANONYMOUSwl-apdpfalseAllow unauthenticated access
ADMIN_GROUPwl-apdpadminsRequired group for admin access