Console terminology: In the Maverics Console, the combination of applications,
policies, headers, and connector bindings is managed through User Flows. In
YAML, these elements are configured directly within each app’s configuration block
under
apps[].policies[].What Is HTTP Proxy Mode?
HTTP Proxy authentication places the Maverics Orchestrator between your users and your backend application as a reverse proxy. The Orchestrator intercepts every request, checks whether the user is authenticated, redirects unauthenticated users to your identity provider, and then injects identity information as HTTP headers into the upstream request. Your backend application reads these headers to identify the user — no changes to the application code or configuration are required. This pattern is especially useful for legacy applications, COTS (commercial off-the-shelf) products, and any application that supports header-based authentication (e.g., SiteMinder-styleSM_USER headers, REMOTE_USER, or custom identity headers).
Prerequisites
- A running Maverics Orchestrator — If you have not installed the Orchestrator yet, follow the Quick Start guide or see the installation reference.
- An identity provider account — You need credentials for an identity provider that supports OIDC, such as Azure AD, Okta, or Auth0. See the full list of Identity Fabric.
- A target web application — A web application accessible via HTTP/HTTPS that you want to protect with modern authentication. The application should accept identity information via HTTP headers.
Configure HTTP Proxy Mode
Create an Orchestrator Deployment
In the Maverics Console, all configuration lives within a Deployment — a managed Orchestrator instance with its own configuration, storage provider, and signing keys. Before you can create identity connectors, applications, or user flows, you need a Deployment to hold them.
- Console UI
- Configuration
- Log in to the Maverics Console.
- Navigate to Deployments in the sidebar and click Create.
-
Enter a name for your deployment (e.g.,
HTTP Proxy Auth). -
Select a deployment provider. The Console supports several options:
- Evaluation — Strata-managed storage, no infrastructure needed. Best for getting started.
- AWS S3, Azure Blob Storage, or Google Cloud Storage — customer-managed cloud storage for production.
- GitHub or GitLab — deploy bundles to a Git repository.
- Download Only — manual bundle download for air-gapped environments.
- Click Create.
Connect your identity provider
An identity provider (IdP) is the service that manages your user accounts and handles login — think Azure AD (now Microsoft Entra ID), Okta, or Google Workspace. Connecting the Orchestrator to your IdP tells it where to send users when they need to authenticate.The Orchestrator uses Identity Fabric connectors to communicate with your IdP. This guide demonstrates an OIDC connector, but the connector protocol is independent of the Orchestrator’s mode — even though the Orchestrator is running in HTTP Proxy mode, the IdP connector can use OIDC, SAML, or LDAP. The Orchestrator handles the protocol translation between your IdP and your application.You will need your IdP’s client ID, client secret, and discovery URL (the well-known endpoint). These credentials allow the Orchestrator to establish a trust relationship with your provider.
The PKCE toggle is enabled by default. Disable it only if your IdP does not support Proof Key for Code Exchange.
- Console UI
- Configuration
- Navigate to Identity Fabric in the sidebar and click Create.
- Select your identity provider from the list. Choose a provider-specific option (such as Okta (OIDC), Microsoft Entra ID (OIDC), or Auth0 (OIDC)) or select Generic OIDC Configuration for any OIDC-compliant provider. SAML and LDAP connector options are also available — this guide demonstrates the OIDC connector path, but any connector type is valid here.
- Fill in the connector form:
| Field | Required | Description |
|---|---|---|
| Name | Yes | A friendly name for your identity provider (e.g., my-idp). |
| OIDC Well Known URL | Yes | Your IdP’s OIDC discovery endpoint (e.g., https://your-idp.example.com/.well-known/openid-configuration). |
| OAuth Client ID | Yes | The client ID from the application you registered in your IdP for Maverics. |
| Client Authentication Method | Yes | Select OAuth Client Secret (default) or OAuth JWT Client Authentication. |
| OAuth Client Secret | Yes | The client secret from your IdP. For production, use a secret provider. |
| Redirect URLs | Yes | The callback URL where your IdP redirects after authentication (e.g., https://your-orchestrator.example.com/oidc-callback). |
| Scopes | No | Space-separated OIDC scopes (e.g., openid profile email). |
- Click Save.
Protocol translation: This guide shows an OIDC connector, but the Orchestrator can connect to your IdP using any supported protocol — OIDC, SAML, or LDAP. The Orchestrator’s mode (HTTP Proxy) determines how your application receives identity (via headers). The connector determines what protocol your IdP speaks. These are independent — you can connect a SAML-only or LDAP-only IdP and the Orchestrator will translate identity attributes into HTTP headers for your application. See the Identity Fabric overview for all connector types.
Define a proxy application
Next, create a proxy application entry that tells the Orchestrator which hostname to listen on and where to forward requests.
Advanced fields such as TLS profile and Preserve Host (which forwards the original
- Console UI
- Configuration
- Navigate to Applications in the sidebar and click Create.
- Select Proxy-based.
- Fill in the application form:
| Field | Required | Description |
|---|---|---|
| Name | Yes | A friendly name for your application (e.g., my-legacy-app). |
| Upstream URL | Yes | The backend URL the Orchestrator forwards requests to (e.g., https://backend.internal:8080). |
| Route Patterns | Yes | Hostname/path patterns the Orchestrator intercepts (e.g., myapp.example.com). |
Host header to the upstream) are available but not required for basic setup.- Click Save.
Add authentication policy
Now bind the identity connector to the proxy application by adding an authentication policy. The policy defines which paths require authentication and which IdP handles it.
- Console UI
- Configuration
In the Console, authentication policies are managed through User Flows. A User Flow connects your application to an identity provider and defines the sign-on behavior.
- Navigate to User Flows in the sidebar and click Create.
- Enter a name for the User Flow and select your proxy application from the dropdown, then click Create.
- On the User Flow page, find the Sign On Policy card and click Edit.
- Under Authentication, select your identity provider from the Select an authentication source dropdown. This is the connector you created in Step 2.
- Click Save.
The User Flow approach means that authentication, headers, and policies are configured together in the Console. In YAML, these are separate sections within the application configuration block.
Configure header injection
This is where the Orchestrator translates identity into something your application understands. Add headers to inject user attributes from the identity provider into HTTP requests sent to your backend.
- Console UI
- Configuration
Header injection is configured within the User Flow for proxy applications.
- Open the User Flow you created in the previous step.
- Find the Headers section and click Edit.
- Add header mappings:
| Field | Description |
|---|---|
| Header Name | The HTTP header name sent to the upstream (e.g., SM_USER, REMOTE_USER). |
| Header Source | Select the identity provider connector to pull the attribute from. |
| Value Mapping | The attribute from the IdP to use as the header value (e.g., email, groups). |
- Click Add Header to add additional rows for each header your application expects.
- Click Save.
Publish your configuration
After configuring your deployment, identity connector, application, and headers in the Console, you need to publish the configuration so the Orchestrator receives it and applies your changes.
- Console UI
- Configuration
- At the bottom of the deployment Settings page, click Publish Preview in the sticky footer bar.
- In the Deployment Manager dialog, review the configuration diff to verify your changes.
- Optionally add a revision note describing what changed (e.g., “Initial HTTP Proxy auth setup”).
- Click Publish to deploy the configuration bundle to your storage provider.
- The Orchestrator detects the new bundle on its next poll cycle and applies the configuration automatically.
Verify the flow
With the identity provider connected, proxy application defined, authentication policy applied, and headers configured, you are ready to test the complete authentication flow.Start (or restart) the Orchestrator to pick up your configuration and verify it is healthy:A healthy response confirms the Orchestrator is running:Now walk through the authentication flow:
- Visit the proxy URL — Open
https://myapp.example.comin a browser. You should be redirected to your identity provider’s login page. - Authenticate — Log in with valid credentials at the IdP.
- Verify redirect — After authentication, you should land on your backend application with full access.
- Verify headers — Check that your backend application receives the injected identity headers. If your application has a debug or profile page that displays HTTP headers, verify
SM_USERandX-Remote-Groupscontain the expected values. - Check logs — Review the Orchestrator logs for authentication events confirming the flow completed successfully.
Success! Your Maverics Orchestrator is acting as an identity-aware reverse
proxy — authenticating users through your identity provider and injecting
identity headers into requests to your backend application. Users experience
seamless authentication without any changes to your application code.
Adding Authorization Rules
Once authentication is working, you can add path-specific authorization to restrict access based on user attributes like group membership./admin path requires the user to be a member of the app-admins group, while all other paths are accessible to any authenticated user. Policies are evaluated in order — more specific paths should be listed first.
For the full set of authorization operators and rule composition, see the Security and Policies guide and the Authorization reference.
Troubleshooting
Users see a 502 or connection error after login
Users see a 502 or connection error after login
This usually means the Orchestrator authenticated the user successfully but
cannot reach the upstream application. Verify that the
upstream URL is correct
and that the backend is running and accessible from the Orchestrator’s network.
Check for firewall rules, DNS resolution, or TLS certificate issues between the
Orchestrator and the backend.Backend application does not receive identity headers
Backend application does not receive identity headers
Verify that the
headers section is defined at the application level (not inside
a policy). Check that the connector name in the template syntax matches the
name field of your connector exactly (e.g., {{ azure.email }} requires a
connector named azure). Review the Orchestrator logs for template evaluation
errors.Users are not redirected to the identity provider
Users are not redirected to the identity provider
Ensure the
policies section has a location that matches the request path.
If location is set to a specific path like /app, requests to / will not
trigger authentication. Use location: "/" to protect all paths. Also verify
that routePatterns matches the hostname the user is accessing.Related Pages
HTTP Proxy Reference
Complete configuration reference for HTTP Proxy mode — route patterns, upstreams, headers, and policies
Authorization Reference
Authorization rules, operators, and policy composition for fine-grained access control
Identity Fabric
All supported identity providers and connector configuration
Sessions
Session storage options and cookie configuration for proxy authentication