Яндекс.Метрика
SSO in Pachca with Indeed IdP over SAML

SSO in Pachca with Indeed IdP over SAML

1. Get the details from your Keycloak (SP) admin

Before you start, ask your Keycloak admin for the following:

  • SP Entity ID (service provider ID)
    • Example: https://my-keycloak.company.com/auth/realms/my-realm
  • Assertion Consumer Service (ACS) URL
    • Example: https://my-keycloak.company.com/auth/realms/my-realm/broker/saml/endpoint
  • Single Logout (SLO) URL (if needed)
    • Example: https://my-keycloak.company.com/auth/realms/my-realm/broker/saml/endpoint

Note: In Keycloak, the SLO URL is often the same as the ACS URL.

2. Configure the Indeed settings file

Open your configuration file (app-settings.json) and make changes to the following sections.

You can see a sample configuration file here.

2.1. Add a new Service Provider

Find the SAML.Configurations section. It contains the PartnerServiceProviderConfigurations array. Add a new object for Keycloak to this array.

Sample object to add:

{
  "Name": "https://my-keycloak.company.com/auth/realms/my-realm",
  "SignSamlResponse": true,
  "ValidAssertionConsumerServiceUrls": ["http://localhost:8080"],
  "SingleLogoutServiceUrl": "https://my-keycloak.company.com/auth/realms/my-realm/broker/saml/endpoint"
}

Replace the sample URLs and Name with the real values you got in Step 1. Set SignSamlResponse to true so Indeed signs its responses.

2.2. Set the login format

Find the AuthenticationSettings.LoginFormats section. Add a new object to this array to specify which user attribute to use as the NameID for Keycloak.

Sample object to add:

{
  "ServiceProvider": "https://my-keycloak.company.com/auth/realms/my-realm",
  "InLoginFormat": "Name",
  "OutLoginFormat": "PrincipalName"
}

2.3. Set up user attribute mapping (required)

To work correctly, Keycloak needs to receive user details (email, first name and last name). Set up how these attributes are passed in the AuthenticationSettings.CustomAttributes section. Add a new object for Keycloak to this array.

Sample object to add:

{
  "ServiceProvider": "https://my-keycloak.company.com/auth/realms/my-realm",
  "Attributes": [
    {
      "Name": "email",
      "UserNameFormat": "email"
    },
    {
      "Name": "given_name",
      "UserNameFormat": "firstName"
    },
    {
      "Name": "family_name",
      "UserNameFormat": "lastName"
    },
    {
      "Name": "preferred_username",
      "UserNameFormat": "PrincipalName"
    }
  ]
}

This block maps Indeed's internal user fields (email, firstName and so on) to the attribute names sent in the SAML assertion. Share these attribute names (Name) with your Keycloak admin so they can set up Keycloak to accept them.

3. Share the details with your Keycloak admin

After you save the configuration and restart the Indeed service, give your Keycloak admin the following details about your IdP:

  1. IdP Entity ID (Issuer)
    • urn:indeedid:saml_idp
  2. Single Sign-On (SSO) URL
    • https://indeed.company.com/am/idp/Account/SsoService
  3. SLO URL
    • https://indeed.company.com/am/idp/Account/SloService
  4. Public certificate
    • Export the public part of the certificate (thumbprint 57CB4...) in .cer or .pem format

Once your Keycloak admin adds these details to their system, the integration is ready for testing.

Updated: October 9, 2025

More in Administration

Accounts in Pachca
How Pachca is structured: the difference between an account, a user and a member profile
Inviting your team
How to invite your team to Pachca, the team chat app: two ways to add employees
Change your email in Pachca
How to change your email address in Pachca: a guide for employees and administrators
Errors when adding people by email
Common errors when adding users to Pachca by email and how to fix them
Managing members in Pachca
Managing members in Pachca: how to add, edit and remove people from your team
Group tags
Add employees to all the chats they need at once with group tags
Advanced administration via API
How to automate user administration in Pachca with the API: creating users, managing them and tags
Ports and addresses Pachca needs
Ports and addresses Pachca needs to work properly: setting up your corporate firewall
Storage in Pachca
Everything about file storage in Pachca: limits, managing storage space and working with documents
Setting up DLP in Pachca
Add an extra layer of protection for personal data, tokens and passwords
Internal/external file access
How to set up internal and external zones in Pachca to protect your company documents
Two-factor authentication (2FA)
How to turn on two-factor authentication in Pachca for extra account security
Import chats from Slack
How to import your chat history from Slack into Pachca: a step-by-step migration guide
Import chats from Mattermost
Pachca lets you move your chat history and files from Mattermost into your workspace.
Import chats from Telegram
If your team is moving to Pachca from Telegram, you can bring your chat history over to your team chat app.
Exporting messages from Pachca
How to export messages from Pachca: data format, settings and export limitations
SSO options in Pachca
Single sign-on (SSO) in Pachca: SAML, LDAP and Keycloak connection options and step-by-step guides
SSO in Pachca with LDAP
SSO in Pachca with Multifactor.ru
SSO in Pachca with Blitz Identity Provider
SSO in Pachca with Authentik
SSO in Pachca with Keycloak
SSO in Pachca with Azure OpenID
SSO in Pachca with ADFS OpenID
This guide explains how to configure ADFS on Windows Server 2016 or later to connect it to Pachca.
SSO in Pachca with Google Workspace SAML
SSO in Pachca with Yandex 360
SSO in Pachca with Yandex Identity Hub
BYOK: Bring Your Own Key in Pachca
How encryption with your own key (BYOK) works in the Pachca team chat app
Advanced encryption in Pachca
How to set up advanced encryption in Pachca for extra protection of your company data
Set up BYOK with HashiCorp Vault
Set up BYOK with Yandex KMS
Set up BYOK with Cloud.ru KMS