Skip to main content
This guide refers to using SSO to authenticate access to your endpoints. You cannot use these instructions to set up SSO for logging into your ngrok account in the dashboard.
This guide explains how to configure JumpCloud as the primary Identity Provider for ngrok endpoints using single sign-on (SSO). By integrating JumpCloud SSO with ngrok, you can:
  • Restrict access to your ngrok endpoints to only users authenticated via JumpCloud
  • Use JumpCloud security policies and multi-factor authentication (MFA) authenticators
  • Use JumpCloud’s Dashboard to facilitate access to ngrok apps
The ngrok integration with JumpCloud supports service provider-initiated (SP-initiated) SSO. In this mode, users access ngrok endpoints and are redirected to JumpCloud for authentication.

What you’ll need

  • A JumpCloud account with administrative rights to create apps.
  • An ngrok Pay-as-you-go account with an authtoken or admin access to configure endpoints with OpenID Connect.

1. Configure JumpCloud

Create a custom OIDC application in JumpCloud by following JumpCloud’s SSO with OIDC guide. When you configure the application, use these ngrok-specific values:
  • Redirect URI: https://idp.ngrok.com/oauth2/callback
  • Login URL: the URL of your ngrok endpoint (for example, https://myexample.ngrok.app)
  • Client Authentication Type: Client Secret Basic
After you activate the application, copy the Client ID and Client Secret. You use these values when you configure ngrok, along with the JumpCloud OIDC issuer URL https://oauth.id.jumpcloud.com/. Assign at least one user group to the application so those users can sign in through JumpCloud. Nobody can reach your endpoint through JumpCloud SSO until you assign a group.

2. Configure ngrok

Use the OpenID Connect Traffic Policy action to enforce JumpCloud authentication on your endpoint.
This step assumes you have an app running locally (for example, on localhost:3000) with the ngrok client installed.
Create a policy.yaml file with the following content, replacing the placeholder values with those copied from JumpCloud:
Start an ngrok endpoint with this policy, replacing YOUR_DOMAIN with your ngrok domain:
Copy the URL next to Forwarding (for example, https://jumpcloud-sso-test.ngrok.app).

3. Test the integration

  • In your browser, launch an incognito window.
  • Access your ngrok endpoint (for example, https://jumpcloud-sso-test.ngrok.app or using the copied endpoint URL).
  • When prompted, log in with your JumpCloud credentials.
  • After you log in, you see your web app.