To forskjellige klientmønstre
Dette dokumentet beskriver forskjellen mellom multi-tenant- og single-tenant-mønstrene for klienter, og hvordan hvert mønster brukes.
Single-tenant-klienter
I HelseID er en single-tenant-klient en programvareinstallasjon som blir brukt av en enkel konsument (for eksempel et fastlegekontor eller en kommune). Denne typen programvare vil typisk være en elektronisk pasientjournal (EPJ) som er installert på en enkelt tjener.
Implikasjonen av dette er at når programvaren settes opp for bruk mot HelseID, så må konsumenten bruke HelseID Selvbetjening for å kunne få en klient-ID. Dette gjør at konsumenten får en rettighet for bruk av HelseID. Det impliserer også at en klient-ID har en en-til-en-korrespondanse med konsumentens organisasjon, spesifikt konsumentens organisasjonsnummer. Dette organisasjonsnummeret gjør HelseID i stand til å sjekke hvorvidt konsumenten har signert de nødvendige dokumentene for bruk av API som programvareinstallasjonen trenger å konsumere.
Multi-tenant-klienter
Multi-tenante klienter bruker et mønster som tillater flere konsumenter av en programvareleverandør å bruke den samme instansen av leverandørens programvare. Et slikt system kan også være en elektronisk pasientjournal, men det vil typisk være satt opp som et SaaS (Software as a Service)-system. Konsumentene deler bruken av dette systemet, men er usynlige for hverandre. Systemet driftes av en databehandler; en programvareleverandør som for eksempel leverer en EPJ som et SaaS-system.
For å sette opp dette mønsteret, må konsumenten (for eksempel et fastlegekontor eller en kommune) delegere en rettighet til databehandleren gjennom Altinn. Databehandleren (som for eksempel leverer et SaaS-system) kan da bruke HelseID på vegne av konsumenten.
Implikasjonen av dette er at hvis en pålogget bruker trenger å bruke en tjeneste (for eksempel SFM), og systemet bruker HelseID for å få et Access-token for tjenesten, så vil Access-tokenet inneholde et claim som indikerer organisasjonsnummeret for konsumenten.
Hvilket mønster skal jeg bruke?
I noen tilfeller vil et API ha spesielle krav til en klient. Da kan det trengs spesiell funksjonalitet for å kunne ta i bruk API-et.
API-er jeg vil bruke | Programvaren min er av SaaS-type | Programvaren min er satt opp som en lokal installasjon |
---|---|---|
SFM | Du må sende inn en spesiell SFM-id | ✅ |
Kjernejournal | Du må bruke den nye innloggingstjenesten for Kjernejournal | ✅ |
VKP | VKP har ennå ikke mulighet for å ta i bruk multi-tenant-klienter | ✅ |
Persontjenesten | ✅ | ✅ |
For andre API-er ber vi deg ta kontakt med API-leverandøren.
Bruk av organisasjonsnummer
Hvis et API klienten konsumerer trenger organisasjonsnumre i Access-tokenet, er det egne mekanismer for dette, avhengig av om klienten er single- eller multi-tenant.