Introduktion til OAuth2 og tokens i OnPay
Kort introduktion til første gangs autorisation mod OnPay med OAuth2.
Når denne proces er gennemført, vil man være i besiddelse af access og refresh tokens, som fremover benyttes i en custom API implementering.
Udløb for tokens
Access token = 24 timer.
Refresh token = 3 måneder.
Bemærk: Udløb for tokens forlænges straks der foretages en request til OnPay.
Bemærk: Tokens kan ikke genskabes men kræver at man gentager processen herunder, for at rekvirere et nyt sæt tokens.
Klient
For at tilgå OnPay via API skal man først anmode om et accces og refresh token. Dette kan gøres via en række klienter, som allerede forefindes på nettet (f.eks Postman eller Curl mv.).
Eksempel i Postman
Postman er en klient der kan foretage en række requests, bla. OAuth2, som er praktisk da softwaren understøtter alle steps i proceduren.
Download og installér klienten via https://www.getpostman.com
Princippet
- Man sender en anmodning til den angivne OnPay URL.
- Herefter får Postman et response tilbage og åbner login siden til OnPay, som er tilknyttet denne session.
- I dialogen logger man ind med sin OnPay bruger, hvorefter OnPay spørger om man vil godkende den request man lige har sendt (standard OAuth2 procedure).
- Herefter får man sit access og refresh token.
Brug OnPay API med Postman
1 Start Postman og klik på "Auth"
2 Vælg typen "OAuth 2.0"
3 Klik på Get New Access Token
4 I dialogen indsættes nedenstående værdier: Auth URL, Access Token URL, Client ID og Scope. Resten kan undlades Postman i dialogen.
Værdier fra OnPay til indsætning i Postman: Man laver en forespørgsel ved at benytte følgende værdier, som forefindes i OnPays dokumentation:
Værdi | Forklaring |
---|---|
Authorize_url | https://manage.onpay.io/{gateway_id}/oauth2/authorize (Husk at angive Gateway ID og fjerne curly brackets) |
Access_url | https://api.onpay.io/oauth2/access_token |
Client ID | Navnet som associeres med de genererede tokens i OnPay, og kan senere ses med udløbsdato i OnPay, under Aktive API tokens. |
Scope | full (eneste værdi, der supporteres af OnPay i øjeblikket) |
Link til OnPay dokumentationen hvor ovenstående forefindes: https://onpay.io/docs/technical/api_v1.html
5 Herefter foretages requesten som præsenterer OnPay login siden, hvor brugernavn og adgangskode indtastes:
6 Efterfølgende præsenteres en dialog om gennemførsel af autorisationen, klik på godkend:
7 Når dette er gjort modtager Postman access og refresh tokens, som man kopierer og gemmer til brug i sin applikation:
Hvordan ser tokens ud?
Access Token
Refresh Token
Om man laver en API integration i PHP eller .NET mv. spiller ingen rolle, når først man har sine tokens, som benyttes til at lave forespørgsler imod OnPay's API.
Software development kits mv.
PHP SDK
https://github.com/onpayio/php-sdk
OAuth2 Client (PHP klient) som kan anvendes til OAuth2 integration i PHP applikationer
https://oauth2-client.thephpleague.com/usage/
.NET SDK
https://github.com/onpayio/dotnet-onpay
OnPay API dokumentation
https://onpay.io/docs/technical
OAuth2 konceptet
https://dev.to/anabella/dancing-with-oauth-emp