Skip to content

OIDC Configuration

Before You Start

Goal

Connect Altair SLC Hub to an external OIDC Identity Provider (IdP) to allow end users to authenticate via single sign-on (SSO).

Prerequisites

At a minimum, the following information about the OIDC Identity Provider is required:

  • The Discovery URL (also called the Well-Known Configuration URL) published by the IdP for this application.
  • A client application created in the IdP, configured to allow Altair SLC Hub as a valid redirect URI.
  • The Client ID and Client Secret issued by the IdP for that client application.

Upstream TLS proxy

If Altair SLC Hub sits behind a TLS-terminating proxy or load balancer (e.g., AWS ALB) and you haven't enabled TLS termination in Keycloak itself (ingress.tls.enabled: false), you must add the following to your ingress_custom.yaml:

ingress:
  forwardedProto: https

Without this setting, Keycloak generates http:// URLs instead of https://, and the OIDC authentication flow will fail.

Configure OIDC

OIDC is an authentication layer built on OAuth 2.0 that enables SSO — for more details, see the OpenID Connect Core 1.0 specification.

OIDC is configured through the Keycloak Admin UI. Altair SLC Hub uses Keycloak as its identity broker, and OIDC identity providers are managed directly in Keycloak without requiring a Altair SLC Hub restart or re-bootstrap.

To access the Keycloak Admin UI, navigate to:

<hub-url>/keycloak/admin/slchub/console

Log in with your Keycloak admin credentials.

Step 1 — Add the OIDC Identity Provider

  1. In the Keycloak Admin UI, select the slchub realm.

  2. In the left menu, click Identity Providers.

  3. Click Add provider and select OpenID Connect v1.0.

  4. Fill in the General settings:

    Field Value
    Alias A unique identifier for this IdP (e.g., okta-oidc). Choose something stable — changing it later requires updating the redirect URI registered in your IdP.
    Display name What users see on the login page (e.g., Company SSO). Optional.
    Display order Controls the order of IdP buttons on the login page. Optional.
  5. Copy the Redirect URI shown at the top of the form. You will need this later in Step 2.

    The redirect URI has the following format:

    <hub-url>/keycloak/realms/slchub/broker/<alias>/endpoint
    
  6. Under OpenID Connect settings, the Use discovery endpoint toggle is enabled by default. Paste your IdP's Discovery URL into the Discovery endpoint field. Keycloak will automatically retrieve the authorization, token, and other endpoints from this URL.

  7. Enter the Client ID and Client Secret issued by your IdP for this application.

  8. Click Save.

Common Discovery URL formats

Provider Discovery URL format
Google https://accounts.google.com/.well-known/openid-configuration
Okta https://<your-org>.okta.com/.well-known/openid-configuration
Azure AD / Microsoft Entra https://login.microsoftonline.com/<tenant-id>/v2.0/.well-known/openid-configuration
AWS IAM Identity Center https://<instance>.awsapps.com/start/.well-known/openid-configuration
Other providers Check your provider's documentation or SSO/Security settings.

Step 2 — Register Altair SLC Hub as a Client in your IdP

Your IdP needs to know where to redirect users after authentication.

  1. Log into your external IdP's admin console and open the client application you created for Altair SLC Hub.

  2. Register the Redirect URI you copied in Step 1 as an allowed redirect URI.

  3. Save the changes in your IdP.

Step 3 — Configure Attribute Mappers

Why attribute mappers are needed

Your IdP sends user information as claims inside the OIDC token, but it may use different claim names than Altair SLC Hub expects. Mappers translate these names so Altair SLC Hub can read the user's data correctly.

Without correct mappers: Users can authenticate successfully, but their attributes will be missing or incorrect, and they may lack the permissions or home directories needed to run workloads.

For detailed instructions on adding mappers, see Mapping claims and assertions in the official Keycloak documentation.

The following user attributes can be mapped to Altair SLC Hub. The attributes required to run workloads are marked accordingly.

Altair SLC Hub attribute Default OIDC claim name Required Description
firstName given_name Yes Given name
lastName family_name Yes Family name
displayName name Yes Full display name
unixUserName unixUserName Yes Linux OS username on Altair SLC Hub server and workers
unixHomeDirectory unixHomeDirectory Yes Linux home directory path
userPrincipalName userPrincipalName Windows only Windows UPN (required for Windows workers only)
email email No Email address. Add a mapper for this attribute if your IdP sends an email claim and you want it stored on the Altair SLC Hub user.

Finding your IdP's claim names

Different IdPs use different claim naming conventions. Check your IdP's token documentation or inspect an actual token to confirm the exact claim names being sent:

  • Google: Standard OIDC claims — email, given_name, family_name, name
  • Okta: Configurable; commonly email, given_name, family_name
  • Azure AD / Microsoft Entra: Uses its own claim names — check your app registration's token configuration

For each required attribute, add a mapper as follows:

  1. In the identity provider, go to the Mappers tab.
  2. Click Add mapper.
  3. Set Mapper type to Attribute Importer.
  4. Set Claim to the claim name sent by your IdP.
  5. Set User Attribute to the Altair SLC Hub attribute name from the table above.
  6. Click Save.

Hub ExternalIdp Mapper

There is an additional mapper named Hub ExternalIdp Mapper. This mapper does not need to be created manually — it is created automatically when the identity provider is saved, and marks users as external by setting the IdP alias value.

Step 4 — Add a Group Mapper

OIDC users who authenticate successfully are created in Keycloak but have no Altair SLC Hub permissions by default. A hardcoded group mapper automatically assigns them to the correct group on first login.

  1. In the identity provider, go to the Mappers tab.
  2. Click Add mapper.
  3. Set Mapper type to Hardcoded Group.
  4. Set Group to /HubUsers.
  5. Click Save.

This grants authenticated OIDC users the base User role in Altair SLC Hub. To grant additional roles (e.g., admin access), add users to the appropriate groups in Keycloak after their first login, or add further hardcoded group mappers.

Step 5 — Set the Sync Mode

The Sync mode controls how Keycloak updates user attributes on subsequent logins.

In the identity provider Settings tab, scroll to Advanced settings and set Sync mode:

Mode Behaviour
Import Creates the local user on first login. Does not re-import attributes on subsequent logins.
Force Re-imports all mapped attributes on every login, keeping the local user in sync with the IdP.

Use Force if you want the IdP to remain the source of truth for user attributes (for example, so that name changes in the IdP are reflected in Altair SLC Hub on the user's next login).

Step 6 — Test the Integration

  1. Log out of Altair SLC Hub.
  2. On the login page, click the button for your IdP (e.g., Company SSO).
  3. You should be redirected to your IdP's login page. Enter your credentials.
  4. After authenticating, you should be redirected back to Altair SLC Hub and logged in successfully.
  5. Verify your user details by clicking the profile icon in the top-right corner.