Naar hoofdinhoud gaan

Ik kan niet inloggen met SSO

VaultPAM ondersteunt Single Sign-On (SSO) via OpenID Connect (OIDC). Wanneer SSO-aanmelding mislukt, is de oorzaak vrijwel altijd een van vijf categorieën: OIDC-misconfiguratie, klokafwijking tussen VaultPAM en de IdP, de gebruiker is niet ingericht in de Identity Provider, een onjuiste redirect URI, of een Keycloak-realm-instelling. Beheerders moeten deze der volgt doorlopen — OIDC-misconfiguratie is verreweg de meest voorkomende oorzaak.

Symptomen

  • De SSO-knop op de aanmeldpagina leidt naar de Identity Provider, maar retourneert vervolgens een fout.
  • Foutmeldingen die u kunt zien:
    • invalid_client of unauthorized_client
    • redirect_uri_mismatch
    • access_denied
    • invalid_grant: Session not active
    • User not found of Account is not fully set up
    • Een algemene "Something went wrong"-pagina na omleiden vanuit de IdP
  • De gebruiker kan zich verifiëren aan de IdP-kant, maar VaultPAM logt hen niet in.

Oorzaken

1. OIDC-misconfiguratie

De Client ID, Client Secret of OIDC-detectie-URL die in VaultPAM is geconfigureerd, komt niet overeen met wat de Identity Provider heeft geregistreerd.

Controleer: In Organization → Security → SSO Settings, controleer:

  • OIDC Issuer URL wordt opgelost en retourneert een geldig .well-known/openid-configuration-document.
  • Client ID komt exact overeen met wat is geregistreerd in de IdP-toepassing.
  • Client Secret is niet gewijzigd aan de IdP-zijde zonder VaultPAM bij te werken.

Herstel: Update het verkeerde veld en sla op. Test door opnieuw SSO-aanmelding te proberen.

2. Klokafwijking tussen VaultPAM en de IdP

OIDC-tokens bevatten iat (issued-at) en exp (expiry) claims. Als de klokken op de VaultPAM-server of de IdP meer dan ±60 seconden uit elkaar liggen, mislukt tokenvalidatie met een invalid_grant- of "Session not active"-fout.

Controleer: Op de VaultPAM-host (of Kubernetes-node), voer uit:

date -u

Vergelijk met de klok van de IdP (zichtbaar in de iat claim van een gedecodeerde JWT, of gecontroleerd via de IdP-beheerconsole). Het verschil moet onder de 60 seconden liggen.

Herstel: Zorg ervoor dat beide systemen hun klokken synchroniseren met een NTP-bron. Op Linux: timedatectl set-ntp true. In Kubernetes wordt de nodeklok overgenomen van de VM-host — zorg ervoor dat de hypervisor-laag NTP geconfigureerd heeft.

3. Gebruiker niet ingericht in de IdP

Het gebruikersaccount bestaat in VaultPAM, maar is niet gemaakt of geactiveerd in de Identity Provider, of het e-mailadres van het IdP-account komt niet overeen met het e-mailadres van het VaultPAM-account.

Controleer: In de IdP-beheerconsole, bevestig dat het gebruikersaccount bestaat en actief is. Controleer of het e-mailadres exact overeenkomt (hoofdlettergevoelige overeenkomst is in sommige IdP's van toepassing).

Herstel: Maak het gebruikersaccount in de IdP aan of activeer het, of update het e-mailadres in beide systemen zodat deze overeenkomen. Als uw organisatie SCIM-provisioning gebruikt, bevestig dan dat de provisioning-connector actief is en de gebruiker tot de ingerichte groep behoort.

4. Onjuiste redirect URI

De redirect URI die VaultPAM tijdens de OIDC Authorization Code-flow verstuurt, moet exact overeenkomen met een van de toegestane redirect URI's die zijn geregistreerd in de IdP-toepassing. Zelfs een verschil in slash aan het einde veroorzaakt een redirect_uri_mismatch-fout.

Controleer: In Organization → Security → SSO Settings, noteer de weergegeven Callback URL. Open de IdP-toepassingsregistratie en controleer of deze exact URI in de toegestane redirect URI's wordt weergegeven.

Herstel: Voeg de exact callback URL toe aan de lijst met toegestane redirect URI's van de IdP-toepassing en sla op.

5. Keycloak realm-instellingen

Wanneer VaultPAM een embedded of zelf-gehoste Keycloak-instantie gebruikt, kunnen verkeerd geconfigureerde realm-instellingen aanmelding voorkomen, zelfs wanneer de OIDC-client correct is geconfigureerd.

Veelvoorkomende Keycloak-specifieke problemen:

  • De realm is uitgeschakeld of in de modus alleen-lezen.
  • De Access Type van de client is ingesteld op public terwijl VaultPAM confidential verwacht.
  • De vereiste openid-, email- of profile-scopes zijn niet in de client toegewezen.
  • Valid Redirect URIs in de Keycloak-client bevat niet de VaultPAM callback URL.

Controleer: Open de Keycloak-beheerconsole, navigeer naar Realms → [realm name] → Clients → [VaultPAM client], en controleer:

  • Client is Enabled.
  • Access Type is confidential.
  • Valid Redirect URIs bevat de VaultPAM callback URL.
  • Client Scopes bevat openid, email en profile.

Herstel: Corrigeer de Keycloak-clientinstellingen en sla op. Voor de meeste Keycloak-configuratiewijzigingen is geen herstart vereist.

Stappen voor oplossing

  1. Open Organization → Security → SSO Settings en controleer of de OIDC Issuer URL, Client ID en Client Secret exact overeenkomen met de IdP-toepassingsregistratie.
  2. Controleer de serverklokken op de VaultPAM-host en IdP. Als de afwijking groter is dan 30 seconden, configureer NTP op beide systemen.
  3. In de IdP-beheerconsole, bevestig dat het gebruikersaccount bestaat, actief is en het e-mailadres overeenkomt met het e-mailadres van het VaultPAM-account.
  4. Bevestig dat de Callback URL in Organization → Security → SSO Settings wordt weergegeven als een toegestane redirect URI in de IdP-toepassing.
  5. Indien u Keycloak gebruikt, open de Keycloak-beheerconsole en controleer dat de client is ingeschakeld, het toegangstype confidential is, geldige redirect URI's de callback URL bevatten en de vereiste scopes zijn toegewezen.
  6. Wis uw browsercookies na een wijziging en probeer SSO-aanmelding opnieuw via een privé-/incognito-venster om gecachede sessiestatus te voorkomen.

Escalatiepad

Als u alle vijf oorzaken hebt doorlopen en SSO-aanmelding nog steeds mislukt:

  1. Leg de volledige URL vast die in de adresbalk van de browser wordt weergegeven op het moment van mislukking (deze bevat de foutcode en beschrijving als queryparameters).
  2. Verzamel het Keycloak- of IdP-gebeurtenislogboek voor de mislukte verificatiepoging.
  3. Noteer de exacte foutmelding die op het scherm zichtbaar is.
  4. Open een ondersteuningsticket met: uw IdP-type en -versie, de fout-URL, het logboekfragment van de gebeurtenis en bevestiging van welke stappen u al hebt voltooid.

Gerelateerde artikelen