Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,13 @@ Opprettelse skjer i en **dialogboks (modal)** som åpnes fra listevisningen for
Dialogboks med:

- **Tittel:** "Opprett ny applikasjon"
- **Felter** (alle obligatoriske):
- Identitetsleverandør — valg mellom *Feide* og *Maskinporten* (FS skal ikke være valgbar)
- Ekstern ID — ID hos valgt identitetsleverandør (verifiseres ved innsending)
- **Felter** (obligatoriske, men avhengig av valgt identitetsleverandør):
- Identitetsleverandør — valg mellom *Feide* og *Maskinporten*. *FS* er et tredje valg, og
vises bare for administratorer med applikasjonsadministrator-rollen for Sikt
- Ekstern ID — ID hos valgt identitetsleverandør (verifiseres ved innsending); gjelder Feide
og Maskinporten
- Navn — fylles ut i dialogen når identitetsleverandøren er FS; for Feide og Maskinporten
hentes navnet i stedet fra idP-en og er ikke et felt i dialogen
- Organisasjon — valgliste; antall valg avhenger av rollen:
- Tilgang til kun én organisasjon: forhåndsvalgt og låst
- Tilgang til flere organisasjoner: valgliste begrenset til disse
Expand All @@ -23,7 +27,7 @@ Dialogboks med:
## Interaksjonsmønstre

### Primærhandling
*Opprett*-knappen sender skjemaet. Verifiserer ekstern ID mot identitetsleverandøren, sjekker unik visningsnavn og unik ID. Ved suksess lukkes dialogen og brukeren navigeres til detaljsiden for applikasjonen.
*Opprett*-knappen sender skjemaet. Verifiserer ekstern ID mot identitetsleverandøren, sjekker unik visningsnavn og unik ID. Er identitetsleverandøren FS, verifiseres i stedet at organisasjonen har en registrert FS-datakilde i alle miljøer, før noe opprettes. Ved suksess lukkes dialogen og brukeren navigeres til detaljsiden for applikasjonen.

### Sekundære handlinger
- *Avbryt* lukker dialogen uten å opprette
Expand All @@ -44,15 +48,20 @@ Dialogboks med:
| Feil (ID ikke funnet) | Feilmelding ved ID-feltet: "ID-en kunne ikke verifiseres hos {identitetsleverandør}" |
| Feil (ID i bruk) | Feilmelding ved ID-feltet: "ID-en er allerede registrert" |
| Feil (visningsnavn i bruk) | Feilmelding på toppen av dialogen: "Visningsnavnet «{navn}» er allerede i bruk" — siden navnet hentes fra idP-en, kan brukeren ikke endre det her |
| Feil (mangler FS-datakilde) | Feilmelding på toppen av dialogen: "Organisasjonen mangler FS-datakilde i {miljø} — applikasjonen ble ikke opprettet". Dialogen holdes åpen med utfylte verdier |
| Suksess | Dialog lukkes, navigasjon til detaljside, eventuelt toast/banner "Applikasjonen er opprettet" på detaljsiden |

## Per-scenario detaljer

### Scenario: Velge identitetsleverandør ved opprettelse
Valget mellom Feide og Maskinporten presenteres tydelig (radioknapper eller segmentert kontroll). Etter opprettelse vises identitetsleverandøren som låst/skrivebeskyttet på detaljsiden.

### Scenario: FS er ikke en valgbar identitetsleverandør
FS skal ikke vises som alternativ i dialogen i det hele tatt.
### Scenario: FS som identitetsleverandør
FS vises som alternativ **bare** for en administrator med applikasjonsadministrator-rollen for Sikt. For alle andre skal alternativet ikke vises i det hele tatt — ikke som et deaktivert valg, jf. prosjektmønsteret for manglende rettighet. Velges FS, provisjonerer opprettelsen en maskinbruker i FS' webtjenester, og dialogen bør si det: det opprettes noe utenfor applikasjonsoversikten, og handlingen er derfor tyngre enn de to andre valgene.

Dialogen viser ikke miljøvalg for FS: applikasjonen er miljøløs, og identiteten gjelder i alle miljøer med én gang. I stedet for ekstern ID-oppslag fylles navnet ut manuelt (se Navn-feltet over), og innsending verifiserer i stedet at organisasjonen har registrert FS-datakilde i alle miljøer — mangler den i ett, avvises hele opprettelsen med en feilmelding som navngir miljøet, og ingenting opprettes delvis. Passord settes ikke i dialogen: detaljsiden blir inngangen til å sette ett passord per miljø, med den samme passordflyten som for øvrige applikasjoner.

Avgrensningen bør ikke lekke inn i detaljsiden: når applikasjonen først finnes, er den organisasjonens egen, og handlingene der (navn og beskrivelse, deaktivering og reaktivering, passordbytte) gates som for de øvrige applikasjonene.

### Scenario: Opprette applikasjon når administrator har tilgang til kun én organisasjon
Organisasjonsfeltet er forhåndsvalgt med administratorens eneste organisasjon og kan ikke endres.
Expand Down Expand Up @@ -86,7 +95,8 @@ Vurder en informasjonsboks på detaljsiden som forklarer at applikasjonen kan au

## Avklarte valg

- **IdP-velger:** Radioknapper med Feide og Maskinporten
- **IdP-velger:** Radioknapper med Feide og Maskinporten — og FS som et tredje valg for
administratorer med applikasjonsadministrator-rollen for Sikt (besluttet 24. august 2026)
- **Organisasjonsvelger:** Vanlig nedtrekksliste (uten søk), også for super-applikasjonsadministrator
- **Plassering av "Opprett applikasjon"-knapp:** I `ActionButtons`-slot i `ListPageLayout` (etablert prosjektmønster for handlinger i listevisninger)
- **Suksess-feedback:** Toast/snackbar på detaljsiden etter navigasjon ("Applikasjonen er opprettet")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,27 +13,116 @@ Egenskap: Opprette applikasjon
ved en systemgenerert unik ID. Visningsnavnet, som hentes fra idP-en,
må være globalt unikt på tvers av alle organisasjoner.

FS som identitetsleverandør er utfaset for nye applikasjoner og kan
ikke velges ved opprettelse. Eksisterende FS-applikasjoner består
som data og forvaltes i den samme applikasjonsoversikten som Feide-
og Maskinporten-applikasjoner — alle administrasjonshandlinger
(listevisning, tilgangsstyring, passordbytte, beskrivelse,
deaktivering) gjelder også for dem. Det er kun opprettelse som er
stengt.
FS som identitetsleverandør — en maskinbruker-applikasjon — er
utfaset for nye integrasjoner, og lærestedene kan ikke opprette dem
selv. Opprettelse er likevel ikke stengt: applikasjonsadministratorer
hos Sikt kan opprette maskinbruker-applikasjoner så lenge FS'
webtjenester lever. Opprettelsen provisjonerer en maskinbruker i de
webtjenestene, med replikering av passordet, og det er en flate Sikt
drifter — den skal kunne forvaltes fra applikasjonsoversikten framfor
av databaseforvaltningen.

Avgrensningen er viktig: det er bare opprettelsen som er gatet hos
Sikt. Den løpende forvaltningen av en maskinbruker-applikasjon som
finnes — navn og beskrivelse, deaktivering og reaktivering,
passordbytte — følger de ordinære reglene i BRU-APP-API-006,
BRU-APP-API-010 og BRU-APP-API-004, altså rettigheten hos
organisasjonen som eier applikasjonen. Eksisterende
maskinbruker-applikasjoner forvaltes i den samme
applikasjonsoversikten som Feide- og Maskinporten-applikasjoner, og
alle administrasjonshandlinger (listevisning, tilgangsstyring,
passordbytte, beskrivelse, deaktivering) gjelder også for dem.

# Krav fra Confluence: K8 Opprette ny API-bruker, Discovery: Registrer applikasjon (4612784227), Rammeinnsikt: Grunnleggende selvbetjent administrasjon av API-brukere (4401102853)

Regel: Opprettelse krever valg av identitetsleverandør

Scenario: Velge identitetsleverandør ved opprettelse
Gitt jeg administrerer én eller flere organisasjoner som ikke er Sikt
Når jeg starter opprettelse av en ny applikasjon
Så kan jeg velge én av identitetsleverandørene Feide og Maskinporten
Og identitetsleverandøren settes på applikasjonen og kan ikke endres senere

Scenario: FS er ikke en valgbar identitetsleverandør
Regel: Bare Sikt kan opprette en applikasjon med FS som identitetsleverandør

# FS er utfaset som identitetsleverandør for nye integrasjoner, men opprettelse er
# ikke stengt. En maskinbruker-applikasjon provisjonerer en maskinbruker i FS'
# webtjenester, med replikering av passordet, og det er en flate Sikt drifter. Så
# lenge de webtjenestene lever skal flaten kunne forvaltes fra
# applikasjonsoversikten framfor av databaseforvaltningen. Selvbetjent opprettelse
# hos lærestedene er stengt — det er ikke lærestedets eget valg å ta i bruk en
# utfaset integrasjonsform.

Scenario: Applikasjonsadministrator hos Sikt kan velge FS
Gitt jeg har applikasjonsadministrator-rollen for Sikt
Når jeg starter opprettelse av en ny applikasjon
Så kan jeg velge FS som identitetsleverandør

Scenario: FS er ikke en valgbar identitetsleverandør for en lokal administrator
Gitt jeg har applikasjonsadministrator-rollen for en organisasjon som ikke er Sikt
Når jeg starter opprettelse av en ny applikasjon
Så er FS ikke tilgjengelig som identitetsleverandør

Scenario: Forsøk på å opprette en maskinbruker-applikasjon uten rettigheten avvises
Gitt jeg ikke har applikasjonsadministrator-rollen for Sikt
Når jeg forsøker å opprette en applikasjon med FS som identitetsleverandør
Så avvises opprettelsen
Og det fremgår at opprettelse av maskinbruker-applikasjoner krever applikasjonsadministrator hos Sikt

Scenario: Opprettelsen provisjonerer en maskinbruker
Gitt jeg har applikasjonsadministrator-rollen for Sikt
Når jeg oppretter en applikasjon med FS som identitetsleverandør på en organisasjon
Så er applikasjonen opprettet på den organisasjonen
Og det er provisjonert en tilhørende maskinbruker i FS' webtjenester

Regel: Opprettelsen av en maskinbruker-applikasjon er miljøløs og alt-eller-ingenting

# Maskinbruker-applikasjonen selv har ingen miljødimensjon — det er provisjoneringen i
# FS' webtjenester som skjer per miljø. Mangler organisasjonen FS-datakilde i ett av
# miljøene, finnes det ingen delvis provisjonert tilstand: hele opprettelsen avvises.
# Passord er heller ikke satt av opprettelsen — det settes per miljø etterpå, med den
# samme passordflyten som for øvrige applikasjoner.

Scenario: Opprettelsen gjelder i alle miljøer uten miljøvalg
Gitt jeg har applikasjonsadministrator-rollen for Sikt
Når jeg oppretter en applikasjon med FS som identitetsleverandør
Så velger jeg ikke miljø i dialogen
Og applikasjonen får den samme identiteten i alle miljøer

Scenario: Opprettelsen avvises i sin helhet når organisasjonen mangler FS-datakilde i et miljø
Gitt jeg har applikasjonsadministrator-rollen for Sikt
Og organisasjonen mangler registrert FS-datakilde i minst ett miljø
Når jeg forsøker å opprette en applikasjon med FS som identitetsleverandør for organisasjonen
Så avvises opprettelsen i sin helhet
Og det fremgår hvilket miljø organisasjonen mangler FS-datakilde i
Og applikasjonen er ikke opprettet i noe miljø

Scenario: Passord settes per miljø etter opprettelsen
Gitt jeg har opprettet en applikasjon med FS som identitetsleverandør
Og applikasjonen har ennå ikke noe passord
Når applikasjonen skal autentisere seg i et miljø
Så må det først settes et passord for applikasjonen i det miljøet
Og passordet settes med den samme passordflyten som for øvrige applikasjoner

Regel: Bare opprettelsen av en maskinbruker-applikasjon er gatet hos Sikt

# Gatingen gjelder handlingen «ta i bruk en utfaset integrasjonsform», ikke
# applikasjonen som sådan. Når den først finnes, er den organisasjonens applikasjon
# på linje med de øvrige.

Scenario: Løpende forvaltning følger organisasjonen som eier applikasjonen
Gitt det finnes en maskinbruker-applikasjon på en organisasjon
Og jeg har rettighet til å administrere applikasjoner i den organisasjonen
Så kan jeg endre navn og beskrivelse, deaktivere og reaktivere applikasjonen og bytte passord
Og ingen av de handlingene krever applikasjonsadministrator hos Sikt

Scenario: Manglende Sikt-rettighet skjuler ikke den løpende forvaltningen
Gitt det finnes en maskinbruker-applikasjon på en organisasjon jeg administrerer
Og jeg har ikke applikasjonsadministrator-rollen for Sikt
Når jeg åpner detaljsiden for applikasjonen
Så ser jeg de samme administrasjonshandlingene som for en Feide- eller Maskinporten-applikasjon
Men jeg ser ingen handling for å opprette en ny applikasjon med FS som identitetsleverandør

Regel: Opprettelse krever en organisasjon

Scenario: Opprette applikasjon når administrator har tilgang til kun én organisasjon
Expand Down Expand Up @@ -171,3 +260,4 @@ Egenskap: Opprette applikasjon
Gitt jeg har opprettet en ny applikasjon
Så kan applikasjonen autentisere seg umiddelbart med sin eksterne identitet
Men applikasjonen får ikke tilgang til data før den har en tilgang i et miljø
Og en applikasjon med FS som identitetsleverandør venter på passord per miljø før den kan autentisere seg i det miljøet
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ Iterasjonen forutsetter at oversikt og detaljer fra Iterasjon 2 allerede er på

**Brukerhistorie:** Som bruker med applikasjonsadministrator-rollen ønsker jeg å opprette en ny applikasjon, slik at nye integrasjoner kan konfigureres.

**Kort beskrivelse:** En applikasjon har én identitetsleverandør som velges ved opprettelse — Feide eller Maskinporten — og identitetsleverandøren kan ikke endres senere. FS er utfaset som identitetsleverandør for nye applikasjoner og kan ikke velges; eksisterende FS-applikasjoner består som data og forvaltes i den samme applikasjonsoversikten som Feide- og Maskinporten-applikasjoner — alle administrasjonshandlinger (listevisning, tilgangsstyring, passordbytte, beskrivelse, deaktivering) gjelder også for dem, det er kun opprettelse som er stengt. Feide og Maskinporten krever en ID som verifiseres mot kilden ved opprettelse; navnet hentes fra samme oppslag, og ID-en kan ikke registreres på nytt hvis applikasjonen allerede finnes. Systemet tildeler i tillegg en intern unik ID til hver applikasjon, og visningsnavnet (hentet fra idP-en) må være globalt unikt på tvers av alle organisasjoner. Alle administratorer må velge en organisasjon — vanlig administrator velger blant sine, super-applikasjonsadministrator blant alle. Nyopprettet applikasjon har ingen tilganger og er ikke aktiv i noen miljøer, men kan autentisere seg umiddelbart med sin eksterne identitet.
**Kort beskrivelse:** En applikasjon har én identitetsleverandør som velges ved opprettelse — Feide eller Maskinporten — og identitetsleverandøren kan ikke endres senere. FS er utfaset som identitetsleverandør for nye integrasjoner og kan ikke velges av en lokal administrator, men opprettelse er ikke stengt: applikasjonsadministratorer hos Sikt kan opprette maskinbruker-applikasjoner så lenge FS' webtjenester lever — opprettelsen provisjonerer en maskinbruker der, med replikering av passordet, og det er en flate Sikt drifter. Bare opprettelsen er gatet hos Sikt; den løpende forvaltningen av en maskinbruker-applikasjon som finnes følger BRU-APP-API-006, BRU-APP-API-010 og BRU-APP-API-004, altså rettigheten hos organisasjonen som eier applikasjonen. Eksisterende maskinbruker-applikasjoner forvaltes i den samme applikasjonsoversikten som Feide- og Maskinporten-applikasjoner — alle administrasjonshandlinger (listevisning, tilgangsstyring, passordbytte, beskrivelse, deaktivering) gjelder også for dem. Feide og Maskinporten krever en ID som verifiseres mot kilden ved opprettelse; navnet hentes fra samme oppslag, og ID-en kan ikke registreres på nytt hvis applikasjonen allerede finnes. Systemet tildeler i tillegg en intern unik ID til hver applikasjon, og visningsnavnet (hentet fra idP-en) må være globalt unikt på tvers av alle organisasjoner. Alle administratorer må velge en organisasjon — vanlig administrator velger blant sine, super-applikasjonsadministrator blant alle. Nyopprettet applikasjon har ingen tilganger og er ikke aktiv i noen miljøer, men kan autentisere seg umiddelbart med sin eksterne identitet.

### K6, K13 — Tildele tilgang til applikasjon

Expand Down Expand Up @@ -66,4 +66,5 @@ Iterasjonen forutsetter at oversikt og detaljer fra Iterasjon 2 allerede er på
- Iterasjonen forutsetter at Iterasjon 2 (oversikt, detaljer, tilganger, passordbytte, beskrivelse) er på plass.
- K10 er bevisst utelatt — deaktivering er sluttilstanden, ingen permanent sletting.
- Selvbetjent administrasjon av tilganger (K13/K14) er allerede dekket av disse features via rettighetsregler — Iterasjon 4 fokuserer derfor på sporbarhet, ikke duplikater av denne funksjonaliteten.
- FS som identitetsleverandør er utfaset for nye applikasjoner i tråd med rammeinnsikten (Confluence 4401102853). Eksisterende FS-applikasjoner består som data og forvaltes i den nye applikasjonsoversikten på lik linje med Feide- og Maskinporten-applikasjoner — alle administrasjonshandlinger (listevisning, tilgangsstyring, passordbytte, beskrivelse, deaktivering, reaktivering) gjelder for dem. Det er kun opprettelse som er stengt. Maskinbruker-POC-en for legacy FS-applikasjoner avvikles når den nye løsningen er på plass — det er den nye applikasjonsoversikten som blir det eneste administrasjonsgrensesnittet.
- FS som identitetsleverandør er utfaset for nye integrasjoner i tråd med rammeinnsikten (Confluence 4401102853). Eksisterende FS-applikasjoner består som data og forvaltes i den nye applikasjonsoversikten på lik linje med Feide- og Maskinporten-applikasjoner — alle administrasjonshandlinger (listevisning, tilgangsstyring, passordbytte, beskrivelse, deaktivering, reaktivering) gjelder for dem. Maskinbruker-POC-en for legacy FS-applikasjoner avvikles når den nye løsningen er på plass — det er den nye applikasjonsoversikten som blir det eneste administrasjonsgrensesnittet.
- **Besluttet 24. august 2026:** opprettelse av maskinbruker-applikasjoner er ikke stengt, men Sikt-only. Applikasjonsadministratorer hos Sikt kan opprette dem så lenge FS' webtjenester lever; selvbetjent opprettelse hos lærestedene er fortsatt stengt. Begrunnelsen er at opprettelsen provisjonerer en maskinbruker i FS' webtjenester, med replikering av passordet — en integrasjonsflate Sikt drifter, og som bør kunne forvaltes fra applikasjonsoversikten framfor av databaseforvaltningen. Avgrensning: bare opprettelsen er Sikt-gatet. Forvaltningen av en maskinbruker-applikasjon som finnes (navn og beskrivelse, deaktivering og reaktivering, passordbytte) følger BRU-APP-API-006, BRU-APP-API-010 og BRU-APP-API-004 med rettigheten hos organisasjonen som eier applikasjonen.