SSO-configuratie
SSO-configuratie
Deze handleiding is bedoeld voor de IT-beheerder die een bedrijfs-identity provider (IdP) verbindt met InterMIND. Na de configuratie melden leden zich aan via de gewone loginpagina: Sign in with SSO → werk-e-mail → jouw IdP → terug in InterMIND.
Beschikbaar op: Business- en Enterprise-abonnementen Geconfigureerd door: team owner of admin Protocol: OpenID Connect (OIDC). SAML 2.0-aanmelding is in ontwikkeling — SAML-configuratie wordt opgeslagen maar kan nog niet worden gebruikt om aan te melden.
Vereisten
- Een geverifieerd domein — verifieer je e-maildomein eerst via een DNS TXT-record (zie Domeinbeheer). SSO-aanmelding accepteert alleen accounts waarvan het e-maildomein door je team is geverifieerd; dat is de tenantgrens.
- Een IdP die OIDC met discovery ondersteunt — deze moet
/.well-known/openid-configurationaanbieden onder de Issuer URL. Okta, Microsoft Entra ID en Google doen dat allemaal.
Wat te registreren bij je IdP
Maak een OIDC Web Application aan in je IdP met:
| Instelling | Waarde |
|---|---|
| Redirect URI (callback) | https://intermind.com/api/auth/sso/callback — ook zichtbaar in de SSO-kaart nadat je OIDC hebt geselecteerd |
| Grant type | Authorization Code (PKCE S256 wordt automatisch gebruikt) |
| Scopes | openid email profile |
Het ID-token dat je IdP uitgeeft moet het email-veld van de gebruiker bevatten, en het domein van dat e-mailadres moet een van je geverifieerde domeinen zijn — anders wordt aanmelden geweigerd.
Vul vervolgens de SSO-kaart op de Integrations-pagina in:
| Veld | Wat te plakken |
|---|---|
| Display Name | Elke label die je leden herkennen |
| Issuer URL | De issuer van je IdP — de URL die /.well-known/openid-configuration aanbiedt |
| Authorization URL | Het authorization_endpoint uit dat discovery-document |
| Client ID / Client Secret | Van de app die je hebt geregistreerd |
Het client secret wordt versleuteld opgeslagen en na opslaan nooit meer teruggegeven aan de browser.
Okta
- Admin console → Applications → Create App Integration → aanmeldmethode OIDC, applicatietype Web Application
- Sign-in redirect URI:
https://intermind.com/api/auth/sso/callback - Wijs de gebruikers of groepen toe die toegang moeten hebben
- Kopieer de Client ID en Client Secret
- In InterMIND: Issuer URL = je Okta org-URL (bv.
https://acme.okta.com, of de issuer van je authorization server zoalshttps://acme.okta.com/oauth2/defaultals je die gebruikt); Authorization URL = hetauthorization_endpointuit<issuer>/.well-known/openid-configuration
Microsoft Entra ID (Azure AD)
- Entra admin center → App registrations → New registration
- Platform Web, redirect URI
https://intermind.com/api/auth/sso/callback - Certificates & secrets → New client secret — kopieer de secret Value meteen
- Client ID = de Application (client) ID op de Overview-pagina
- Zorg dat het ID-token de e-mail van de gebruiker bevat: Token configuration → Add optional claim → ID → email
- In InterMIND: Issuer URL =
https://login.microsoftonline.com/<tenant-id>/v2.0; Authorization URL =https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/authorize
Google Workspace
Geen app-registratie nodig. Kies in de SSO-kaart het providertype Google Workspace en sla op — leden op je geverifieerde domeinen melden zich aan met hun Google-account en worden automatisch aan je team toegevoegd. (Google kan ook worden verbonden als een generieke OIDC-provider met issuer https://accounts.google.com als je liever expliciete client credentials gebruikt.)
De verbinding testen
- Open de loginpagina in een privé-/incognitovenster
- Klik op Sign in with SSO en voer een werk-e-mail in op je geverifieerde domein
- Je wordt doorgestuurd naar je IdP; na authenticatie kom je aangemeld terug in InterMIND
- De aanmelding wordt vastgelegd in het audit log van het team (exporteerbaar vanaf de Users-pagina) als
auth.loginmet methodsso
Probleemoplossing
| Symptoom | Oorzaak |
|---|---|
| "SSO is not configured" na invoer van het e-mailadres | Geen ingeschakelde SSO-configuratie komt overeen met dat e-maildomein — controleer of het domein is geverifieerd en of de SSO-kaart is opgeslagen |
SSO login is not available: plan | Het abonnement van het team bevat geen SSO meer |
SSO login is not available: domain-not-verified | Het domein wacht nog op DNS-verificatie |
SSO login is not available: config-incomplete | Client ID of Client Secret ontbreekt — sla de SSO-kaart opnieuw op |
SSO login is not available: type-unsupported | De opgeslagen configuratie is SAML — SAML-aanmelding is nog niet beschikbaar |
SSO IdP discovery failed | Issuer URL is fout of biedt geen /.well-known/openid-configuration aan |
| "login session expired, start again" | Er zijn meer dan 5 minuten verstreken tussen de start van de aanmelding en de IdP-callback |
| Aanmelden geweigerd nadat de IdP terugstuurt | De IdP gaf een e-mailadres buiten je geverifieerde domeinen terug, of helemaal geen email-claim (Entra: voeg de optionele email-claim toe) |
Beveiligingseigenschappen
Voor security-vragenlijsten: de SSO-flow is Authorization Code met PKCE (S256), state en nonce; de handtekening van het ID-token wordt gevalideerd tegen de JWKS van de IdP, samen met issuer en audience; de IdP is uitsluitend gezaghebbend voor domeinen die via DNS zijn geverifieerd — een assertion voor een ander e-mailadres levert nooit een sessie op; het OIDC client secret wordt versleuteld opgeslagen; elke SSO-aanmelding komt in het audit log van het team terecht. Controles op abonnement, domein en configuratie worden server-side afgedwongen, zowel bij de start van de aanmelding als bij de callback.