SSO-opsætning
NexBasira understøtter både OpenID Connect (OIDC) og SAML 2.0 Web Browser SSO. Brugere i de konfigurerede e-mail-domæner logges ind via din identitetsudbyder; førstegangslogins provisioneres just-in-time med den standardrolle, du vælger.
Før du går i gang
- Du skal have en
org_admin-rolle på NexBasira-siden. - Du skal have adgang til din IdP-administration for at registrere en applikation + konfigurere attribut-mapping.
- SSO er tilgængeligt på Pro-niveauet og derover (se priser).
OIDC-gennemgang
1. Find din callback-URL
I NexBasira-SPA'en: Admin → SSO → Protocol: OpenID Connect. Callback-URL'en vises øverst i formularen:
https://app.nexbasira.com/api/v1/auth/sso/callback Kunder med eget domæne (Pro+) ser deres eget domæne her. Kopiér det — din IdP har brug for det.
2. Registrer en applikation i din IdP
Hver IdP har sin egen brugergrænseflade, men mønstret er det samme:
- Applikationstype: Web (server-side, confidential client)
- Redirect URI: callback-URL'en fra trin 1
- Tilladte grant types: Authorization Code (med PKCE)
- Scopes:
openid+email+profile
IdP'en giver dig et Client ID, et Client Secret og Issuer URL (basis-URL'en til discovery — normalt https://your-idp.example.com/realms/yourrealm eller https://accounts.google.com).
3. Udfyld SSO-konfigurationen
Tilbage i Admin → SSO udfyldes formularen:
- Visningsnavn: vises på knappen "Continue with SSO". F.eks. "Acme SSO".
- Issuer URL: fra din IdP.
- Client ID + Client Secret fra din IdP.
- E-mail-domæner: kommasepareret liste (
acme.com, acme-eu.com). Brugere med e-mails i disse domæner dirigeres gennem SSO. - Standardrolle for nye brugere: normalt
inspector. Organisationsadministratorer skal tildelesorg_admin-rollen manuelt efter første login. - Auto-provisionér nye brugere ved første login: typisk slået til.
- Aktiveret: slået fra, indtil du har testet.
4. Test af discovery
Klik Test discovery. Den henter din IdP's OpenID-konfiguration ({issuer_url}/.well-known/openid-configuration) + parser JWKS'en. Almindelige fejl:
- OK — N JWKS keys: du er færdig.
- Connection refused / DNS failure: tastefejl i issuer-URL; verificér, at den resolver i din browser.
- JSON parse error: issuer-URL'en peger et sted hen, der ikke er en OIDC-udbyder.
- No JWKS keys: probe lykkedes, men JWKS-endpointet returnerede et tomt sæt; tjek nøglerotation på IdP-siden.
5. Aktivér + smoke-test
Slå Aktiveret til, gem. Log ud, og log derefter ind med en e-mail i et af de tilladte domæner. Du bør blive omdirigeret til din IdP's loginskærm og derefter tilbage til SPA-dashboardet.
SAML 2.0-gennemgang
1. Find din ACS-URL
I Admin → SSO → Protocol: SAML 2.0 kopieres Assertion Consumer Service-URL'en:
https://app.nexbasira.com/api/v1/auth/saml/acs 2. Registrer en SAML-app i din IdP
- ACS URL / Reply URL: URL'en fra trin 1.
- Entity ID (audience):
https://app.nexbasira.com/saml/sp(eller dit eget domæne). - NameID-format: emailAddress.
- Attribut-mapping: mindst
email; ideelt ogsågivenName+surname. - Signér assertions: påkrævet.
IdP'en giver dig et Entity ID, en SSO Service URL og et signeringscertifikat (PEM).
3. Udfyld SAML-konfigurationen
- IdP Entity ID — fra din IdP.
- IdP SSO Service URL — fra din IdP.
- IdP-signeringscertifikat (PEM) — indsæt hele
-----BEGIN CERTIFICATE------blokken. - E-mail-domæner — samme mønster som OIDC.
- Standardrolle + auto-provisionering — samme som OIDC.
Sektionen Advanced — attribute mapping lader dig tilsidesætte de URN'er, vi leder efter; standarderne matcher Microsofts WS-Federation-konvention, som de fleste IdP'er honorerer ud af boksen.
4. Aktivér + smoke-test
Samme flow som OIDC: slå Aktiveret til, log ud, log ind med en e-mail fra et tilladt domæne, og forvent en round-trip gennem din IdP.
Testede IdP'er
NexBasira's OIDC- + SAML-understøttelse er generisk; enhver spec-kompatibel IdP virker. Vi har smoke-testet:
- Microsoft Entra ID (Azure AD) — OIDC + SAML
- Google Workspace — OIDC + SAML
- Okta — OIDC + SAML
- Keycloak — OIDC + SAML
- OneLogin — SAML
JIT-provisioneringsregler
- Første gang en bruger med et matchende domæne logger ind via SSO, oprettes et Membership med den konfigurerede standardrolle.
emailer den unikke nøgle. En bruger, der ændrer sin e-mail hos IdP'en, opretter en ny konto.- Rolleændringer efter første login administreres i SPA'en (Admin → Members), ikke hos IdP'en. For IdP-drevet gruppe → rolle-mapping, se SCIM-provisionering.
Deaktivering af SSO
Slå enten Aktiveret fra (bevarer konfigurationen; du kan genaktivere senere) eller klik Remove SSO (sletter konfigurationen). Med SSO deaktiveret falder alle brugere tilbage til passwordgodkendelse; eksisterende medlemskaber bevares.
Fejlfinding
| Symptom | Sandsynlig årsag |
|---|---|
| Redirect-loop mellem IdP + SPA | E-mail-domænet er ikke på allowlisten. Brugerens e-mail matcher ikke. |
| "Signaturvalidering mislykkedes" (SAML) | Forældet signeringscertifikat i konfigurationen. Indsæt igen fra IdP'en. |
| "Udsteder-mismatch" (SAML) | Entity ID i IdP'en matcher ikke det, vi forventer. Tjek store/små bogstaver + afsluttende skråstreg. |
| "Ingen e-mail-attribut i assertion" | SAML-attribut-mapping i IdP'en udsender ikke email. Tilsidesæt URN'en i Advanced-indstillingerne. |
Hvad er det næste
- SCIM-provisionering — IdP-drevet oprettelse + deaktivering af brugere
- API-godkendelse — adskilt fra SPA-SSO