Overview
Proxy Hopper supports OIDC (OpenID Connect) for SSO integration with enterprise identity providers including Authentik, Azure AD, Keycloak, Okta, and any other OIDC-compliant IdP. With OIDC, users authenticate directly with your identity provider and present the resulting JWT to Proxy Hopper. Proxy Hopper validates the token and reads a role claim to determine access.Configuration
Fields
| Field | Type | Description |
|---|---|---|
oidc.issuerUrl | string | OIDC discovery URL — /.well-known/openid-configuration is appended automatically |
oidc.clientId | string | Client ID registered with your IdP |
oidc.clientSecret | string | Client secret (for token introspection, if used) |
oidc.roleClaimPath | string | JWT claim that contains the user’s role name |
oidc.audience | string | Expected aud claim value — recommended for security |
How it works
- User authenticates with the identity provider using the client credentials or authorization code flow
- IdP issues a JWT containing the role claim
- User sends the JWT in
X-Proxy-Hopper-Auth: Bearer <token> - Proxy Hopper validates the token signature against the IdP’s JWKS endpoint (fetched from the discovery URL)
- Proxy Hopper reads the role from
roleClaimPathand checks access to the requested target
Role claim
The JWT must contain a claim matchingroleClaimPath. The claim value must be one of:
- A built-in role name:
admin,operator,viewer - A custom role name defined in
auth.roles
403.
Client credentials flow
For service-to-service access via OIDC (machine-to-machine):Combining SSO with local admin
You can use OIDC for service access while keeping a localadmin account for emergency access:
/auth/login on the admin port, independently of OIDC.
Provider-specific setup
Step-by-step guides for popular identity providers:Authentik
Set up a service account, configure a property mapping, and issue client credentials.
Azure Active Directory
Register an app, configure roles claim, and use client credentials flow.