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.
- Restrict access to ngrok endpoints only to users authenticated via Descope
- Use Descope security policies and MFA authenticators.
- Use the Descope Console to facilitate access to ngrok apps.
Supported features
The ngrok integration with Descope supports:- SP-Initiated SSO: In this mode, users access ngrok edges and tunnels and are redirected to Descope for authentication.
Requirements
To configure ngrok tunnels with Descope, you must have:- A Descope project with administrative rights and an Enterprise license to be able to create SAML Applications
- An ngrok Enterprise Account with an authtoken or admin access to configure edges with SAML.
Configuration steps
To integrate ngrok with Descope SSO, you will need to:- Configure Descope with the ngrok app
- Configure ngrok with the SSO settings provided by Descope
1. Fetch IdP Metadata
Add the ngrok app in Descope
- Open the Descope Console.
- On the left menu, click Applications, and then click + Application in the top right corner.
-
In the popup window, enter
ngrokin the Name field, make sure thatSAMLis selected under Authentication protocol, and then click Create. - On the ngrok application page, click the download button next to Descope Metadata (XML) to download the Metadata file that you’ll need later on. Make sure to leave this page open.
- Optional: if you wish to change the Auth Hosting URL, to use a different flow for ngrok SSO you can change that on this page, and click Save.
2. Configure ngrok
To configure an edge with Descope:- Access the ngrok Dashboard and sign in using your ngrok account.
- On the left menu, click Universal Gateway and then click Edges.
-
If you don’t have an edge already set to add Descope SSO, create a test edge:
- Click + New Edge.
- Click Create HTTPS Edge.
- Click the pencil icon next to “no description”, enter
Descope SSO SAMLas the edge name, and click Save.
- On the edge settings menu, click SAML.
-
On the SAML page, click Begin setup, click Upload XML, and then open the XML metadata file you downloaded from Descope (See Fetch IdP Metadata).

-
Optional: If you wish to enable IdP-initiated SSO, so that you can sign in directly from the Descope IdP-initiated SSO URL instead of from ngrok, you can check this box.

- Click Save at the top.
- Copy both the Entity ID and the ACS URL values for later use.
3. Configure Descope
- Back in the Descope Console, under your ngrok application, select Enter the connection details manually under Service Provider (SP).
-
Enter the following values in the input fields and save the configuration.
Note: Replace the following with the values copied on previous steps:
NGROK_ACS_URL: The value of the ngrok Entity ID copied from the edge SAML configuration.NGROK_ENTITY_ID_URL: The value of the ngrok ACS URL copied from the edge SAML configuration.
5. Start a tunnel
- Access the ngrok edges page, click your edge, and then click Start a tunnel.
-
Click the copy icon next to the tunnel command.

-
Launch a tunnel:
- Launch a terminal.
- Paste the command but replace
http://localhost:80with your localhost app address (that is,,http://localhost:3000). - Click Enter and an ngrok tunnel associated with your edge configuration will launch.
-
To confirm that the tunnel is connected to your edge:
- Return to the ngrok dashboard
- Close the Start a tunnel and the Tunnel group tabs
- Refresh the test edge page. Under traffic, You will see the message You have 1 tunnel online. Start additional tunnels to begin load balancing.

-
In the test edge, copy the endpoint URL. (you use this URL to test the Descope Authentication)

Test the integration
- In your browser, launch an incognito window.
-
Access your ngrok endpoint (that is,,
https://descope-sso-test.ngrok.appor use the copied URL). - You should be prompted to log in with Descope.
- After logging in, you should be able to see your web app.