Altinn / altinn-correspondence

Meldingstjenesten
3 stars 0 forks source link

OnBehalfOf felt slik at man kan sende meldinger med andre avsendere #161

Open Andreass2 opened 1 month ago

Andreass2 commented 1 month ago

OnBehalfOfPartyId er ett felt på Correspondence som inneholder partyId til en organisasjon som skal være avsender av meldingen. Enklere forklart; Meldingen blir sendt på vegne av en annen organisasjon.

Avklaring som må taes; Ved bruk av OnBehalfOfPartyId, skal events gå til både OnBehalfOfPartyId og avsender, eller kun 1 av de.

tomshag commented 1 month ago

OnBehalfOfPartyId blir satt via "OnBehalfOfOrgNr" i InsertCorrespondence kallet. Denne tror jeg vanligvis brukes is sammenheng med "Felles MeldingsTjeneste", som er en rekke meldings-tjenester i Altinn 2 som ikke krever at du er tjenesteeier for meldingstjenesten for å sende dem.

Har det blitt diskutert noe rundt "Felles Meldingstjenester" i Altinn 3? Jeg vil anta dette er noe som vil kunne takles på Ressurs-siden av løsningen istedet for inni Correspondence.

"MessageSender" feltet blir entent satt med fritekst, ellers så hentes navnet basert på OnBehalfOf organisasjonsnavn fra register eller alternate ServiceOwner description.

RagnarFatland-Avanade commented 1 week ago

Både Broker og Correspondence har felt som kan settes som en del av Intialize med navn "Sender" som var tiltenkt til denne bruken. Men det kan se ut som det i dag bare rått mappes over, og at vi faktisk ikke bruker det ikke bruker det i autorisasjon eller sjekker at det er konsistens mellom "Sender" og evt. orgnr angitt i Token. I praksis benyttes vel orgnr fra "Consumer" i tokenet for videre autorisasjon?? (Du får korrigere meg @Ceredron)

I forbindelse med nye Systembruker, så angis det et par orgnr + clientid i token, jeg mistenker at det er "authorization_details:systemuser_org:id" som er vil representere avsenderen i våre case.

Jeg tenker at dersom token vil eksplisitt inneholde orgid til avsender-organisasjonen, så anser jeg alternativene:

  1. Hente fra token og lagre det i "Sender" uten at sluttbruker kan angi det direkte.
  2. Hente fra token og ha en validering der vi avviser dersom orgid i token og orgid i sender har mismatch, noe jeg anser som rotete.

"MessageSender" var som @tomshag nevner en gammel workaround, men vi kan vurdere om vi vil beholde det for en "human readable" variant av "sender".

Kommentarer @Andreass2 @tomshag @Ceredron ??

Ceredron commented 1 week ago

Jepp, blir nok å omskrive å bruke authorization_details:systemuser_org:id hviss systembruker og consumer ellers. Vi bør se an hvordan det blir seende ut i ABAC-bibliotek implementasjonen.