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_clientofunauthorized_clientredirect_uri_mismatchaccess_deniedinvalid_grant: Session not activeUser not foundofAccount 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
publicterwijl VaultPAMconfidentialverwacht. - De vereiste
openid-,email- ofprofile-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,emailenprofile.
Herstel: Corrigeer de Keycloak-clientinstellingen en sla op. Voor de meeste Keycloak-configuratiewijzigingen is geen herstart vereist.
Stappen voor oplossing
- Open Organization → Security → SSO Settings en controleer of de OIDC Issuer URL, Client ID en Client Secret exact overeenkomen met de IdP-toepassingsregistratie.
- Controleer de serverklokken op de VaultPAM-host en IdP. Als de afwijking groter is dan 30 seconden, configureer NTP op beide systemen.
- In de IdP-beheerconsole, bevestig dat het gebruikersaccount bestaat, actief is en het e-mailadres overeenkomt met het e-mailadres van het VaultPAM-account.
- Bevestig dat de Callback URL in Organization → Security → SSO Settings wordt weergegeven als een toegestane redirect URI in de IdP-toepassing.
- Indien u Keycloak gebruikt, open de Keycloak-beheerconsole en controleer dat de client is ingeschakeld, het toegangstype
confidentialis, geldige redirect URI's de callback URL bevatten en de vereiste scopes zijn toegewezen. - 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:
- 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).
- Verzamel het Keycloak- of IdP-gebeurtenislogboek voor de mislukte verificatiepoging.
- Noteer de exacte foutmelding die op het scherm zichtbaar is.
- 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.