IPS grensesnittet - Autentisering (kun for de som fortsatt bruker IPS-BX-protokollen)

Language

Note: This part of the documentation is in Norwegian only.

 

NB! Buypass tilbyr ikke autentisering via IPS-BX-protokollen lenger. Nå ber vi alle ta i bruk OIDC.

Her finnes informasjon for de som fortsatt har implementert gammel løsning.
Se under https://buypassdev.atlassian.net/wiki/spaces/DEVSPACE/pages/2908291073 for å få flere detaljer for det som i IPS er felles for autentisering og signering.

 

Overordnet

IPS er en web-basert identifiserings, signerings- og betalingsløsning. IPS kommuniserer med brukeren over http på tradisjonelt web-vis gjennom nettleseren. Det vil si at initiativet fra nettleseren ved identifisering, signering eller betaling overlates til IPS, og gjennomføres i sin helhet før initiativet gis tilbake til brukerstedet. Dette gjøres enten ved at brukeren redirigeres "helt" over til IPS, slik at IPS overtar hele nettleservinduet under den aktuelle operasjonen, eller at IPS kommuniserer med sluttbrukeren gjennom en FRAME/IFRAME, som innkapsles på nettsidene til det aktuelle brukerstedet.


Brukerstedet har med andre ord ikke noe forhold til den klient-server spesifikke sekvensen som utføres for hver operasjon, utover det å sette i gang en operasjon, og avslutte den. Igangsetting og avslutting av operasjoner gjøres i samme mønster uavhengig av operasjonstype.

Kommunikasjon med IPS

Igangsetting og avslutting av operasjoner i IPS gjøres enten:

1) ved å utveksle XML meldinger via nettleseren via et GET/POST-POST pattern, eller
2) utveksle tilsvarende XML meldinger direkte til IPS ved server til server kommunikasjon.



Alle XML meldinger som utveksles mellom brukersted og IPS er krypterte og signerte, uavhengig av om de utveksles gjennom nettleser, eller fra server til server. Det genereres i hovedsak 4 parametere som sendes til IPS ved en forespørsel (samme for begge mønstrene over):

1) En kryptert og signert XML forespørsel (parameteren PSE)
2) En kryptert forespørselspesifikk nøkkel (parameteren E)
3) Operasjonsidentifikator (parameteren OP)
4) BrukerstedsID (parameteren M)

I retur får man en parameter som inneholder den krypterte responsen (parameteren PE). Denne responsen kan kun dekrypteres med samme nøkkel som ble brukt i forespørselen.

Leverandøren tilbyr forhåndsprogrammerte støtte biblioteker for alle nødvendige mekanismer på Java og .NET plattform. Disse bibliotekene håndterer i hovedsak XML oppbygging, parsing, kryptering/dekryptering og signering av disse meldingene. Sammensetting og tolking av forespørsler og responser programmeres iht. spesifikasjon ved hjelp av disse bibliotekene, slik at man ikke trenger å bytte ut/oppgradere disse bibliotekene for å ta i bruk ny funksjonalitet.

IPS-Bx protokollen

Kommunikasjon og meldingsutveksling

Kommunikasjon med IPS skjer basert på utveksling av krypterte og signerte XML meldinger, enten gjennom nettleseren over SSL (redirect), eller direkte server-til-server (direct). All kommunikasjon med IPS går over HTTP(S).

Den vanligste kommunikasjonsformen er via nettleser (som for identifisering og signering). Leverandøren leverer protokoll orientert støtte biblioteker for Java og .NET som forenkler generering/parsing, kryptering/dekryptering og signering/verifisering av disse XML meldingene. Disse støtte bibliotekene er ikke funksjonsorienterte i forhold til tjenestene IPS tilbyr, men protokoll orienterte i den forstand at de tilbyr støtte for håndteringen av den underliggende protokollen mellom brukerstedet og IPS. Dvs. at for eksempel når det tilkommer ny eller endret funksjonalitet i IPS, vil Leverandøren oppdatere den sentrale namespace definisjonen med de aktuelle endringene og gi ut et nytt versjonsnummer. Når eventuell ny/endret funksjonalitet blir tilgjengelig, blir disse sidene oppdatert samtidig med informasjon om endringen, men IPS vil alltid være bakover-kompatibel med tidligere versjoner, og vil svare med samme versjon av namespace definisjonen som ble brukt i forespørselen.

For å ta i bruk ny funksjonalitet, må namespace versjonsidentifikatoren oppdateres i støtte biblioteket (gjennom programmatisk konfigurering), og nye funksjoner/parametere må tas i bruk/implementeres av brukerstedet basert på oppdaterte spesifikasjoner for den nye versjonen. Det er ikke behov for å laste ned eller oppdatere støtte bibliotekene når det kommer til nye endringer.

Sende forespørsler til IPS

I hovedsak består en forespørsel av fire http form data parametere:

  • PSE (Parameters Signed Encrypted)

  • E (Encrypted)

  • OP (operation)

  • M (merchantID)

PSE parameteren inneholder en signert, kryptert og base64 enkodet utgave av BX XML forespørselen. Parameteren E inneholder en kryptert og base64 enkodet versjon av sesjonsnøkkelen brukt til å kryptere innholdet i parametere PSE. OP angir operasjonstype, og M angir brukersteds ID'en.

I retur vil brukerstedet motta én parameter; PE (Parameters Encrypted). Denne inneholder en kryptert og base64 enkodet versjon av BX XML responsen. Responsen er kryptert med samme nøkkel som ble brukt til å kryptere forespørselen. Sesjonsnøkkelen i initiativet (PE) er kryptert med en Buypass' Public Key for kryptering av slike nøkler.

Request parametere

Parameter

Påkrevd

Beskrivelse

Parameter

Påkrevd

Beskrivelse

OP

Ja

Operasjonsidentifikator

M

Ja

BrukerstedsID

PSE

Ja

Signert, kryptert og base64 enkodet utgave av forespørselen

E

Ja

Kryptert sesjonsnøkkel

FOU

Nei

Failover URL

Respons parametere

Parameter

Påkrevd

Beskrivelse

Parameter

Påkrevd

Beskrivelse

PE

Ja

Kryptert og base64 enkodet response data

Direct forespørsler

Ved direkte kommunikasjon med IPS utveksles de samme parameterne vha POST over HTTP direkte fra brukerstedets server til IPS. Responsdataene (innholdet i PE) returneres som svar på den aktuelle POST'en.

Redirect baserte forespørsler

Ved bruk av "redirect" i kommunikasjonen med IPS, utveksles alle forespørsler og responser via nettleseren i et Get/Post-Post pattern. Dvs. at initiativet til forespørselen blir først sendt til brukerstedet, for eksempel et initiativ om pålogging. Deretter genererer brukerstedet de fire parameterne (PSE, E, OP og M) og sender dette som en HTML form tilbake til nettleseren.



Nettleseren POST'er så disse dataene automatisk vha javascript inn til IPS. Tilsvarende vil IPS sende en HTML form tilbake til nettleseren med responsen i vha av samme Get/Post-Post pattern, som i sin tur POST'er responsen tilbake til angitt returadresse.



Innhold underliggende sider: