Documentation Index
Fetch the complete documentation index at: https://ngrok.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
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
What you’ll need
- A Descope account with administrative rights to a Descope Project.
- An ngrok Pay-as-you-go account with an authtoken or admin access to configure endpoints with OpenID Connect.
1. Configure Descope
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 thatOIDCis selected under Authentication protocol, and then click Create. - On the ngrok application page, make a note of the Issuer URL.
- 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.
Create a client secret in Descope
- Go to Access Keys in the Descope Console.
- Click + Access Key in the top right corner.
- In the popup window, enter
ngrokin the Name field, change the Expiration time to whatever you prefer, and then click Generate Key. - Once the Access Key has been created, make a note of it for later.
2. Configure ngrok
ngrok can use Descope SSO in two ways:- From the ngrok CLI (using the
--oidcparameter) - From the ngrok dashboard
Option 1: ngrok CLI
This tutorial assumes you have an app running locally (for example, on
localhost:3000) with the ngrok client installed.- Launch a terminal.
-
Enter the following command to launch an ngrok tunnel with Descope SSO:
Replace the following with values:
DESCOPE_ISSUER_URL: This is your Issuer URL that you copied from the Applications page earlier.DESCOPE_CLIENT_ID: This is your Descope Project ID, which can be found under Project Settings in the Descope Console.DESCOPE_CLIENT_SECRET: This is the Descope Access Key that you created from earlier.
--url YOUR_DOMAINargument to get your custom URL, replacingYOUR_DOMAINwith your URL of preference. -
Copy the URL available next to Forwarding (for example,
https://descope-sso-test.ngrok.app). - Skip to Step 3.
Option 2: Traffic Policy
This tutorial assumes you have an app running locally (for example, on
localhost:3000) with the ngrok client installed.policy.yaml file with the following content, replacing the placeholder values with those copied from Descope:
https://descope-sso-test.ngrok.app).
3. Test the integration
- In your browser, launch an incognito window.
- Access your ngrok endpoint (for example,
https://descope-sso-test.ngrok.appor using the copied URL). - You should be prompted to log in with Descope.
- After logging in, you should be able to see your web app.