Altinn / altinn-authentication

Altinn platform microservice for handling authentication
5 stars 3 forks source link

Opprette fagsystem i systemregister #575

Closed ekorra closed 1 week ago

ekorra commented 4 months ago

Overordnet beskrivelse

Digdir må tilby funksjonalitet som gjør at en fagsystemleverandører kan opprette og vedlikeholde systemer i systemregisteret.

Dersom Fagsystemleverandør ikke ønsker at fagsystemer skal være synlig i flyten for sluttbrukerstyrt opprettelse kan det settes flag det under opprettelse

Et system som ikke har tilknyttede systembrukere kan slettes

Definisjoner

Hva skal leveres

Funsjonalitet for å opprette fagsystem i systemregisteret med nødvendige rettigheter

Sjekk #359

Out of scope

Avklaringer

Akseptansekriterier

Avhengigheter

Trusselvurdering

Modeller


{
    "id": "936796702_visma_super" // Må starte med orgnummer
    "vendor":{
      "authority" : "iso6523-actorid-upis",
      "ID" : "0192:310385980"
    },
 "name": { "nb":" Visma super tax rich"}, // Påkrevd nb, nn, en
  "singleRights" : [{
        "resource" : [{
                                 "type": "urn:altinn:resource",
                                 "value":"skd_super_mva"
                             }]
            }],
"clientId": ["2342-234324-","43256452.2"],
"isVisible": false,
 "description": { "nb":" Visma super tax rich"}, // Påkrevd nb, nn, en
"allowedRedirectUrls": ["https://visma.no/fullpath","https://dnb.visma.no/fullpath"]  // valid uri, https
}

Get på /systemregister/936796702_visma_super/

{
    "id": "936796702_visma_super" // Må starte med orgnummer
    "vendor":{
      "authority" : "iso6523-actorid-upis",
      "ID" : "0192:310385980"
    },
 "name": { "nb":" Visma super tax rich"}, // Påkrevd nb, nn, en
"clientId": ["2342-234324-","43256452.2"],
"isVisible": false,
 "description": { "nb":" Visma super tax rich"}, // Påkrevd nb, nn, en
"allowedRedirectUrls": ["https://visma.no/fullpath","https://dnb.visma.no/fullpath"]  // valid uri, https
}

Put på /systemregister/936796702_visma_super/

PUT Model lages som egen C# model differensiert fra GET

{
  "name": { "nb":" Visma super tax rich"}, // Påkrevd nb, nn, en
 "clientId": ["2342-234324-","43256452.2"],
"isVisible": false,
 "description": { "nb":" Visma super tax rich"}, // Påkrevd nb, nn, en
"allowedRedirectUrls": ["https://visma.no/fullpath","https://dnb.visma.no/fullpath"]  // valid uri, https
}

Get på /systemregister/936796702_visma_super/rights/

GET Rights

{
  "singleRights" : [{
        "resource" : [{
                                 "type": "urn:altinn:resource",
                                 "value":"skd_super_mva"
                             }]
            }],
}

PUT Rights

{
  "singleRights" : [{
        "resource" : [{
                                 "type": "urn:altinn:resource",
                                 "value":"skd_super_mva"
                             }]
            }],
}
### Backend
- [x] Oppdater datamodell
- [ ] Swagger dokumentasjon
- [x] Oppdater database for å tilpasse datamodell endring
- [x] Skript for å migrere eksisterende data til ny data modell
- [x] Update authorization to allow maskinporten token
- [x] Inputvalidere ressurs mot ressurs-register
- [x] Autentisert med maskinporten og nødendige scope (altinn:authentication/systemregister.write), trenger ikke veksles til Altinn token
### Frontend
- [x] Ikke vise system som er flagget synlighet false ved sluttbrukerstyrt opprettelsesgrensesnitt
### Test
- [x] Fagsystemleverandør kan opprette nytt fagsystem i systemregisteret
- [ ] Admin kan administrere systemer for andre enn eget orgnr
- [x] Autentisert med maskinporten og nødendige scope (altinn:authentication/systemregister.write), trenger ikke veksles til Altinn token
- [x] Dersom systemet skal være synlig i brukerstyrt opprettelse må dette oppgis
- [ ] Systemet må inneholde navn, id(beskrivende), beskrivelse, orgnr på leverandør, nødvendige enkeltrettigheter/tilgangspakker
- [x] Gyldig orgnr på leverandør
- [ ] Orgnr i maskkinportentoken er det samme som oppgitt orgnr på systemleverandør (hvis ikke admin)
- [x] Hvert system må kunne ha flere client_id
- [ ] Oppdatert systemdokumentasjon
- [x] Dersom man ønsker redirect under opprettelse må redirect url oppgis under registrering av system
- [ ] Vi må vedlikeholde en versjonsnr på fagsystemet for å kunne holde styr på versjonen systembruker er opprettet basert på
- [ ] Versjonsnummer endres når rettigheter på systemet endres
- [x] Redirct URL må være https
- [x] Man kan støtte flere URL for redirects
- [ ] Eget endepunkt med model for PUT system UTEN RETTIGHTER. Se nedenfor
- [ ] Eget endepunkt for PUT rettigheter. Se nedenfor for model
- [ ] Ressurser/app oppgitt på system må finnes i resursregisteret og være delegerbare
- [x] ID på system må starte med orgnr til vendor.  234234235_
- [ ] Navn, description som har språk støtte påkrever at verdi for alle språk er sendt inn
- [x] Må støtte maskinporten token direkte
- [ ] Swagger
### Juridisk
- [ ] Hva skal til for å få tilgang til scope
- [ ] I hvilke grad er et scope en hvitelisting
### Dokumentasjon
- [ ] Systemdokumentasjon
- [ ] Swagger
Nyeng commented 2 weeks ago

Test-funn (oppdaterer her i samme kommentar underveis)

@ekorra for kriteriet: "Admin kan administrere systemer for andre enn eget orgnr" - hva betyr det i praksis for denne requesten? Hva er "admin" eller hvordan tester man det?

acn-dgopa commented 2 weeks ago

@Nyeng Admin er digdir som kan styre systemer som ligger i SystemRegister. Det tester du med maskinportenscope token med scope altinn:authentication/systemregister.admin Leverandør får tilgang til å styre sitt systemet med maskinportenscope altinn:authentication/systemregister.write, altinn:authentication/systemregister.read