# Ping Identity setup

This page explains how to set up a Ping Identity Application and connect it to Snyk to facilitate SSO.

Before configuring your Ping Identity Application to use SSO with Snyk, obtain an entity ID and a reply URL (Assertion Consumer Service URL) from Snyk. Then follow these steps:

1.  In the left menu, select your **Group**, then **Settings**.

    <figure><img src="https://2533899886-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MdwVZ6HOZriajCf5nXH%2Fuploads%2FGP5w9lfoBUPLbRluw0at%2FScreenshot%202023-09-05%20at%2010.54.23%20AM.png?alt=media&#x26;token=907dd350-2ea5-4377-9385-fa627d9a1beb" alt="" width="375"><figcaption></figcaption></figure>
2.  Select **SSO** and copy the values under **Entity ID** and **ACS URL** or leave the browser tab open for easy access.

    <figure><img src="https://2533899886-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MdwVZ6HOZriajCf5nXH%2Fuploads%2FwCTA55mBQLHdpebW6HLj%2F2.png?alt=media&#x26;token=205e3b2d-8a09-4948-b0f6-2e5728bdff3b" alt="Group Settings: SSO"><figcaption><p>Group Settings: SSO</p></figcaption></figure>
3.  Navigate to Ping Identity and select **Applications** in the **Connections** menu. Click on the **plus** sign to create a new application.&#x20;

    <figure><img src="https://2533899886-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MdwVZ6HOZriajCf5nXH%2Fuploads%2FFGbB2SbJPOex85P7eC7w%2F1.png?alt=media&#x26;token=9d265605-1029-47d6-9603-ea3952fd0f12" alt="Create a new application"><figcaption><p>Create a new Application</p></figcaption></figure>
4.  Name your application appropriately, select **SAML Application**, and click **Configure.**

    <figure><img src="https://2533899886-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MdwVZ6HOZriajCf5nXH%2Fuploads%2FDEMTJORXGDKzMRGKdKio%2F2.png?alt=media&#x26;token=7a81e20a-e082-42fb-9e25-44e2a3c5e506" alt="Configure as SAML Application" width="563"><figcaption><p>Configure as SAML Application</p></figcaption></figure>
5.  Enter the details you copied from Snyk, the **ACS URL** and **Entity ID,** and select **Save**.

    <figure><img src="https://2533899886-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MdwVZ6HOZriajCf5nXH%2Fuploads%2FLjU2FHPGBSjgUo37Rccr%2F3.png?alt=media&#x26;token=91197f92-6b1e-42b9-87cf-a6d47387e252" alt="Add Snyk configuration details" width="563"><figcaption><p>Add Snyk configuration details</p></figcaption></figure>
6.  Select **Configuration** and download the signing certificate in PEM format.

    <figure><img src="https://2533899886-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MdwVZ6HOZriajCf5nXH%2Fuploads%2F0xCpLAZTSI2pkZIxvOFK%2F4.png?alt=media&#x26;token=d3a8394d-3e47-4315-9be5-88552ea3acbd" alt="Download signing certificate"><figcaption><p>Download signing certificate</p></figcaption></figure>
7.  Scroll further down and copy the **Single Signon Service** details.

    <figure><img src="https://2533899886-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MdwVZ6HOZriajCf5nXH%2Fuploads%2Fi4guIelBjt1jkPkcOOM4%2F5.png?alt=media&#x26;token=8e131510-d55b-47d8-bfc3-1dde57f17d58" alt="Copy the Single Signon Service details"><figcaption><p>Copy the Single Signon Service details</p></figcaption></figure>
8.  Return to the the Snyk portal and paste the single sign-in URL copied at step 2 into the **Sign in URL** field. \


    <figure><img src="https://2533899886-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MdwVZ6HOZriajCf5nXH%2Fuploads%2FYnmYvwgIw39TnDTKxPAb%2Fsingle-sign-on-URL-field.png?alt=media&#x26;token=9a0e8e04-5e40-4829-bb86-de370fc2c986" alt="Paste Sign in URL"><figcaption><p>Paste Sign in URL</p></figcaption></figure>
9.  Open the downloaded certificate in your preferred text editor, copy the text and paste it into the Snyk **X509 signing certificate** field, and add the relevant domains that are supported by this SSO connection.\
    Finally, verify if an **IdP-initiated workflow** should be enabled and then click **Create Auth0 connection** if you are creating a completely new connection or **Save changes** if you are editing an existing connection.&#x20;

    <figure><img src="https://2533899886-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MdwVZ6HOZriajCf5nXH%2Fuploads%2F7M6U0oqjtwB7X1xUdu97%2FScreenshot%202023-09-05%20at%2011.01.53%20AM.png?alt=media&#x26;token=c6e576ab-3189-4ae1-a684-a754235363e1" alt="Enter the Ping Identity details"><figcaption><p>Enter the Ping Identity details</p></figcaption></figure>
10. In Ping Identity, select **Attribute mappings** and click the pencil to edit.

    <figure><img src="https://2533899886-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MdwVZ6HOZriajCf5nXH%2Fuploads%2FSgCrqsHn0S9isDbYi6pn%2F6.png?alt=media&#x26;token=d0d19ec6-e2a5-4793-8cae-0903e7e81b6c" alt="Edit attribue mappings"><figcaption><p>Edit attribue mappings</p></figcaption></figure>
11. Click the cog icon and add the following attributes:

    **email**: Email Address\
    **username**: Username\
    **name**: the expression `user.name.given + ' ' + user.name.famil`y; click the cog icon to enter an advanced description.&#x20;

    <figure><img src="https://2533899886-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MdwVZ6HOZriajCf5nXH%2Fuploads%2F8HTE7ePeVKqKQ743Albf%2F7.png?alt=media&#x26;token=3d19974e-b389-4ad7-8305-99d4046a8053" alt="Add attribute mappings"><figcaption><p>Add attribute mappings</p></figcaption></figure>

    <figure><img src="https://2533899886-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MdwVZ6HOZriajCf5nXH%2Fuploads%2FRRwdNvcDko18aQ5u2b8M%2F8.png?alt=media&#x26;token=6bf72818-1920-4230-97d2-3d3d19f627e3" alt="Add an advanced expression for the name attribute"><figcaption><p>Add an advanced expression for the name attribute</p></figcaption></figure>
12. In the Snyk portal, decide how new users should be treated when signing in and choose the option you would like to use: **Group member**, **Org collaborator**, or **Org admin**.
13. Change the **profile attributes** to the attribute names you entered in Ping Identity then click **Save changes.**\


    <figure><img src="https://2533899886-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MdwVZ6HOZriajCf5nXH%2Fuploads%2FZ7PW83hVKRSRa5OfeJYo%2FScreenshot%202023-09-05%20at%2011.07.37%20AM.png?alt=media&#x26;token=b106934c-60dc-46d5-8088-b0ee43396576" alt="Step 3 Snyk SSO settings"><figcaption><p>Step 3 Snyk SSO settings</p></figcaption></figure>
14. Verify you can log in, either with the direct URL at the top of **Step 3 Snyk SSO settings** (not shown in the image) or by going to the [generic SSO login](https://app.snyk.io/login/sso).
15. As a final step, enable the application and assign it to users.

    <figure><img src="https://2533899886-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MdwVZ6HOZriajCf5nXH%2Fuploads%2FBH5zRVLHtk0lTUWzFvOX%2F10.png?alt=media&#x26;token=885134e9-bbdd-4d56-9bfd-04b8c78352da" alt="Enable and assign the application to users"><figcaption><p>Enable and assign the application to users</p></figcaption></figure>

