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 Frontegg
- Use Frontegg security policies and MFA authenticators.
- Use Frontegg’s Dashboard to facilitate access to ngrok apps.
Requirements
To configure ngrok tunnels with Frontegg, you must have:- A Frontegg account with administrative rights to create apps
- An ngrok Enterprise Account with an authtoken or admin access to configure edges with SAML.
Configuration steps
To integrate ngrok with Frontegg SSO, you will need to:- Configure Frontegg with the ngrok app
- Configure ngrok with the SSO settings provided by Frontegg
1. Download the IDP metadata
- Access the Frontegg Portal and sign in using your Frontegg administrator account.
- On the left menu, click your environment under Environments and then click Env settings.
- On the General Settings page, copy both the Client ID and API Key values.
-
Open a terminal window and run the following command to get an access token:
Note: Replace the following with values:
- CLIENT_ID: The client ID value you copied before.
- API_KEY: The API key value you copied before.
- Copy the value of the token attribute from the response.
-
In the same terminal window, run the following command to download the metadata XML file from Frontegg:
Note: Replace the following with values copied on previous steps:
- YOUR_FRONTEGG_HOST_URL: The value of the Domain name from the Env settings > Domains tab.
- TOKEN: The token you copied before.
-
Copy the response and save it as the
idp_metadata.xmlfile locally on your desktop. Note: The response starts with<EntityDescriptorand ends with</EntityDescriptor>. Anything different may be an error.
2. Configure ngrok
To configure an edge with Frontegg:- 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 Frontegg SSO, create a test edge:
- Click + New Edge.
- Click Create HTTPS Edge.
- Click the pencil icon next to “no description”, enter
Frontegg 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 Frontegg (See Download the IdP metadata).

- Click Save at the top.
- Copy both the Entity ID and the ACS URL values for later use.
3. Configure Frontegg
-
In the same terminal window in which you ran the previous commands, run the following command to create a SAML configuration related to your ngrok SAML edge:
Note: Replace the following with the values copied on previous steps:
- URL_ENCODED_NGROK_ENTITY_ID: URL-Encoded value of the ngrok Entity ID* copied from the edge SAML configuration.
- YOUR_FRONTEGG_HOST_URL: The value of the Domain name from the Env settings > Domains tab.
- TOKEN: The Frontegg token you copied before.
- 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.
4. Update Frontegg login method
- Access the Frontegg Portal and sign in using your Frontegg administrator account.
- On the left menu, click your environment under Environments, click Authentication, and then click Login method.
- On the Select your login method page, make sure Hosted login is selected, and click Add new twice.
-
In the first empty field, enter the endpoint URL from your ngrok edge (that is,,
https://123456789.ngrok.app/). In the second field, enter the ACS URL from your Edge SAML configuration.
- Click Save.
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 Frontegg Authentication)

Grant access to Frontegg users
Create a Frontegg user:- On the left menu of the Frontegg Portal, click your environment, click Backoffice, click Accounts, and then click Add New.
-
On the Add new account popup, enter a name for the account,
ngrok.comin the Domain field, and then click Save. - On the left menu, click Backoffice, click Users, and then click Add New.
- On the Add new user popup, enter a name and email, select the account you have created, and then click Save. Note: by default value to assign the Admin role to the user
Test the integration
- In your browser, launch an incognito window.
-
Access your ngrok tunnel (that is,,
https://frontegg-sso-test.ngrok.app. Use the copied endpoint URL). - You should be prompted to log in with your Frontegg credentials.
- After logging in, you should be able to see your web app.