> For the complete documentation index, see [llms.txt](https://docs.statuspal.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.statuspal.io/platform/integrations/configure-sso-for-your-status-page-with-keycloak.md).

# Configure SSO for your status page with Keycloak

## 1. Create a SAML client in Keycloak

1. Log in to the Keycloak admin portal and click **Clients** in the sidebar, then click **Create**.\
   \
   ![Keycloak Clients menu](/files/PKe1rbHhiKCWCN6bj5U6)
2. You can either upload the Statuspal metadata XML (from your organization's Security tab) via **Add File** beside the **Import** heading, or enter the client ID manually.\
   \
   ![Keycloak client import options](/files/TBWKgzERDtxQjlxj3Nmt)

## 2. Configure assertions

1. Set **Sign assertions** to **ON**.
2. Set **Encrypt assertions** and **Client Signature Required** to **OFF**.\
   \
   ![Keycloak assertion settings](/files/WdvVBh4nyuiEBkYCzYav)

## 3. Configure the Name ID format

Scroll down on the same screen and:

1. Set **Force Name ID Format** to **ON**.
2. Set **Name ID Format** to **email**.\
   \
   ![Keycloak Name ID format setting](/files/Wo80JXcaAIt85QtbMNPJ)

{% hint style="warning" %}
This step is critical. Statuspal requires the Name ID to be the user's email address. If you skip this, SAML authentication will fail. Also ensure that Keycloak admin users have an email address set before testing.
{% endhint %}

## 4. Share Keycloak metadata with Statuspal

1. Click **Realm Settings** in the left sidebar.\
   \
   ![Keycloak Realm Settings](/files/OBAhSvQIUwtD2PzJctD9)
2. Click **SAML 2.0 Identity Provider Metadata** to download the metadata XML.\
   \
   ![Keycloak SAML metadata link](/files/NE7uum2Fk0SCDGi3yhrJ)
3. Copy the contents and paste them into the **IDP metadata** field in your Statuspal SSO setting.\
   \
   ![Statuspal IDP metadata field](/files/dK595YY5MlMiqacSbFRL)
4. Click **Update**, then click **Test SAML configuration** to verify.
