Referanse for SSO-konfigurasjon
Alt som kan konfigureres for enkel pålogging, på ett sted. Verdiene ligger i
radene i sso_connections i global.db (serveromfattende med vilje), og
redigeres via Innstillinger → Server → Enkel pålogging eller
RPC-operasjonene sso.*. Den lagrede raden er den eneste sannhetskilden —
det finnes ingen miljøvariabelvei inn via CC_SAML_* / CC_OIDC_* (en
tilkobling som kan komme fra to steder, er en tilkobling
innstillingsskjermen kan være uenig i).
Tilkoblingsfelter
Seksjon med tittelen «Tilkoblingsfelter»| Felt | Gjelder for | Standard | Betydning |
|---|---|---|---|
enabled |
begge | av | innlogginger kan bruke denne tilkoblingen |
idpMetadataXml |
SAML | — | IdP-ens EntityDescriptor-XML (må være satt for å kunne slås på) |
spEntityId |
SAML | <origin>/saml |
vår entitets-ID, festet når origin varierer |
emailAttribute |
SAML | email |
attributtet som bærer e-postadressen; en NameID formet som en e-postadresse er reservevalget |
displayNameAttribute |
SAML | displayName |
attributt for visningsnavn |
groupsAttribute |
SAML | groups |
attributt for gruppenavn |
clockSkewSeconds |
SAML | 90 | tillatt skjevhet i levetidsvalideringen |
allowIdpInitiated |
SAML | av | godta uoppfordrede Responses (uten InResponseTo) |
wantResponseSigned |
SAML | av | krev signatur på Response-roten (signaturer på assertions kreves alltid) |
issuer |
OIDC | — | utstederens basis-URL (må være satt for å kunne slås på) |
clientId |
OIDC | — | ID for offentlig klient (må være satt for å kunne slås på) |
clientSecret |
OIDC | — | bare konfidensielle klienter; lagres i hemmelighetsfilen med 0600-rettigheter, aldri i databasen — skrivbar kun over RPC (sso.getConfig rapporterer clientSecretPresent) |
groupsClaim |
OIDC | groups |
claim som bærer gruppenavn |
defaultRole |
begge | member |
rolle når ingen gruppe mapper — aldri owner |
groupRoleMap |
begge | {} |
gruppe → rolle; owner-mappinger avvises ved lagring |
autoMember |
begge | på | legg brukere automatisk til i alle arbeidsområder ved første innlogging |
allowJit |
begge | på | provisjoner ukjente brukere ved innlogging |
Prosesskonfigurasjon
Seksjon med tittelen «Prosesskonfigurasjon»SSO-tilkoblinger blir ikke sådd fra miljøet. Ett gjenstående prosessflagg handler om overleveringen til nettleseren, ikke om tilkoblingsraden:
| Variabel / flagg | Betydning |
|---|---|
--web-client-url / CC_SERVER_WEB_CLIENT_URL |
origin som SSO-callbacker sender nettleseren tilbake til (legitimasjonen følger URL-fragmentet). Hvis den ikke er satt, holder overleveringen seg på samme origin. |
Selve utsteder-URL-en må være https (http godtas bare for
loopback-utstedere som localhost, 127.0.0.1 og ::1).
HTTP-endepunkter
Seksjon med tittelen «HTTP-endepunkter»| Endepunkt | Autentisering | Formål |
|---|---|---|
GET /saml/login?relay=… |
ingen (omdirigering) | start en SP-initiert innlogging; relay=desktop overlater til appen, relay=web-popup sender en postMessage til koble-fanen som venter (den oppgir sin client_origin, som bare godtas når origin-tillatelseslisten stoler på den) |
POST /saml/acs |
ingen (IdP-POST) | assertion-forbrukeren — verifiserer, provisjonerer, utsteder |
GET /saml/metadata |
ingen | vår SP-EntityDescriptor |
GET /oidc/login?relay=… / GET /oidc/callback |
ingen | OIDC-rundturen; relay=desktop overlater til appen, relay=web-popup til koble-fanen som venter (samme client_origin-konvensjon) |
GET /auth/providers |
ingen, CORS * |
sonden i koble-skjermen: tilbudte SSO-tilkoblinger (id/kind/label) + pairingEnabled |
/scim/v2/Users… |
Bearer (SCIM-token) | Users create/get/list+filter/PUT/PATCH/DELETE |
/scim/v2/Groups |
Bearer | skrivebeskyttet; gruppepush svarer 501 med vilje |
/scim/v2/ServiceProviderConfig |
Bearer | kapabilitetsdokument |
RPC-operasjoner
Seksjon med tittelen «RPC-operasjoner»Alle sso.*-operasjoner er serveromfattende og forbeholdt servereieren
(operatøren av installasjonen, ServerAuthority.serverOwner). Det er ikke
nok å eie et arbeidsområde; paring alene gir dem aldri tilgang.
| Operasjon | Formål |
|---|---|
sso.getConfig |
den lagrede tilkoblingen for en type |
sso.saveConfig |
valider, lagre og bruk umiddelbart |
sso.status |
flagg for aktivert/konfigurert, om SCIM-tokenet finnes, kanonisk origin |
sso.testConnection |
test en tilkobling uten nettleserrundturen (SAML: tolking av metadata + bygging av AuthnRequest; OIDC: utsteder-oppdagelse), med valgfrie verdier fra skjermen som ikke er lagret |
sso.spMetadata |
generer SP-EntityDescriptor for en origin |
sso.setPairingEnabled |
tillat/forby manuell paring (invitasjonskoder, paringsnøkler); å nekte å slå det av mens ingen fungerende SSO-tilkobling finnes, verner mot utestenging |
sso.sessionPolicy |
les installasjonens maksalder og inaktivitetsgrense for enhetslegitimasjon (minutter; 0 = ikke satt) |
sso.setSessionPolicy |
sett disse grensene; håndheves ved enhetssjekken, annonseres ikke til klienter |
sso.scimRegenerateToken |
generer og returner SCIM-bearer-tokenet (én gang) |
Feilkoder for validering
Seksjon med tittelen «Feilkoder for validering»Feil i cc_saml_verify_response har en stabil kode:
| Kode | Betydning |
|---|---|
signature |
manglende, utroverdig eller endret signatur, eller en algoritme/transformasjon som ikke er tillatt |
expired |
utenfor NotBefore/NotOnOrAfter (ut over skjevheten) |
audience |
audience-restriksjonen nevner ikke oss |
destination |
responsens destination er ikke vår ACS |
request_match |
InResponseTo samsvarer ikke med en ventende forespørsel, eller er uoppfordret mens det ikke er tillatt |
issuer |
utstederen er ikke den konfigurerte IdP-en |
recipient |
mottakeren i subject-confirmation er ikke vår ACS |
malformed |
feil på XML-/skjemanivå |
status |
statusen IdP-en rapporterte, var ikke Success |
invalid / internal |
alt annet / feil ved skjøten |
Databaseflater
Seksjon med tittelen «Databaseflater»sso_connections(global.db) — én rad per type, PÅ TVERS AV ARBEIDSOMRÅDER MED VILJE.users.sso_subject+users.sso_issuer— festingen av leverandørsubjectet, unik per(issuer, subject)via en delvis indeks.users.deactivated_at— SCIM-tidsstempelet for deaktivering.- SCIM-bearer-tokenet og OIDC-klienthemmeligheten ligger i hemmelighetsfilen med 0600-rettigheter, aldri i databasen.