Skip to main content

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

How it works

  1. User authenticates with the identity provider using the client credentials or authorization code flow
  2. IdP issues a JWT containing the role claim
  3. User sends the JWT in X-Proxy-Hopper-Auth: Bearer <token>
  4. Proxy Hopper validates the token signature against the IdP’s JWKS endpoint (fetched from the discovery URL)
  5. Proxy Hopper reads the role from roleClaimPath and checks access to the requested target

Role claim

The JWT must contain a claim matching roleClaimPath. The claim value must be one of:
  • A built-in role name: admin, operator, viewer
  • A custom role name defined in auth.roles
If the role claim is missing or names an unknown role, the request is rejected with 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 local admin account for emergency access:
Local admin login continues to work via /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.