Skip to main content

SAML SSO Setup for Shakudo Hyperplane Platform

This guide explains how to configure SAML Single Sign-On (SSO) for the Shakudo Hyperplane platform using Azure Active Directory (AAD) and Keycloak. It assumes that the Keycloak realm is named Hyperplane and the client ID is istio.


Prerequisites​

  • Admin access to Azure Active Directory
  • Admin access to Keycloak instance
  • Keycloak server reachable by AAD (public DNS or reverse proxy)

Step 1: Create Enterprise Application in Azure AD​

  1. Log in to Azure Portal.
  2. Navigate to Azure Active Directory > Enterprise Applications.
  3. Click + New Application > Create your own application.
  4. Name it something like Shakudo Hyperplane SSO, select Integrate any other application you don't find in the gallery (Non-gallery), and click Create.

Step 2: Configure SAML in Azure AD​

  1. In the created application, go to Single sign-on > SAML.

  2. Under Basic SAML Configuration, click Edit and fill in:

    • Identifier (Entity ID):
      https://<your-keycloak-domain>/auth/realms/Hyperplane
    • Reply URL (Assertion Consumer Service URL):
      https://<your-keycloak-domain>/auth/realms/Hyperplane/broker/azuread/endpoint
      > Some of the app require you to put https://<your-keycloak-domain> so the Application will redirect you into correct entry page of Shakudo platform
  3. Click Save.


Step 3: Download SAML Metadata​

  1. In the Azure AD SAML configuration page, download the Federation Metadata XML, or copy the URL.
  2. Save it locally for import into Keycloak.

Step 4: Configure Keycloak Identity Provider​

  1. Log in to Keycloak Admin Console (https://<your-keycloak-domain>/auth/admin).
  2. Select the realm Hyperplane.
  3. Navigate to Identity Providers > Add provider > SAML v2.0.
  4. Set:
    • Alias: azuread
    • Import from URL / XML: Upload the XML metadata from Azure, or paste the XML url from the Step 3.
    • First Login Flow: first broker login
    • Sync Mode: force
  5. Click Save.

Step 5: Configure Attribute Mappers in Keycloak​

  1. In the Identity Provider (azuread) configuration page, scroll to the Mappers tab.
  2. Click Create to add each of the following mappers:

Mapper: username​

  • Name: username
  • Mapper Type: Attribute Importer
  • Attribute Name: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
  • User Attribute Name: username

Mapper: email​

  • Name: email
  • Mapper Type: Attribute Importer
  • Attribute Name: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
  • User Attribute Name: email

Mapper: given name​

  • Name: givenName
  • Mapper Type: Attribute Importer
  • Attribute Name: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname
  • User Attribute Name: firstName

Mapper: surname​

  • Name: surname
  • Mapper Type: Attribute Importer
  • Attribute Name: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname
  • User Attribute Name: lastName

Optional: groups (if configured in Azure AD)​

  • Name: groups
  • Mapper Type: Attribute Importer
  • Attribute Name: http://schemas.xmlsoap.org/claims/Group
  • User Attribute Name: groups

Click Save for each.


Step 6: Test the SSO​

  1. Go to your Shakudo platform.
  2. You should be redirected to Azure AD for login.
  3. After login, you’ll be redirected back to the platform and logged in.

Notes​

  • If group/role mapping is needed, ensure Azure AD is sending the correct claims, and use mappers in Keycloak.
  • Ensure the clock time between Keycloak and Azure AD is synchronized to avoid token issues.

Enjoy seamless identity federation with Azure AD and the Shakudo Hyperplane platform 🚀