OAuth staat voor Open Authentication en is een methode om te authenticeren – in te loggen – bij een andere applicatie. In software development wordt dit veel gebruikt om koppelingen te maken met webapplicaties van anderen. Dit wordt veiliger geacht dan koppelen/authenticeren met een gebruikersnaam/wachtwoord, onder andere omdat,
- rechten kunnen worden bepaald per login of app
- de autorisatie-token continu verandert
- toegang kan worden ontzegt op applicatie-niveau
- logging mogelijk op app/login niveau
De flow hoe dit werkt ziet er als volgt uit,
- de gebruiker wordt in z’n browser naar de omgeving gestuurd waar ingelogd kan worden
- de gebruiker wordt teruggestuurd met een ‘code’ in de url
- de applicatie kan de tokens opvragen
- de applicatie krijgt een access_token en refresh_token terug
Nadat de tokens zijn ontvangen, is het mogelijk API-calls uit te voeren. Concreet kan je bijvoorbeeld aanroepen doen naar Office 365, Exact Online, Team Leader en andere applicaties die gebruik maken van OAuth2.
Hoewel OAuth2 een standaard is, wilt de implementatie weleens per partij verschillen. Zo zijn er diensten waarbij je een ‘scope’ moet meegeven waartoe je toegang wilt verkrijgen en andere verschillen.
Een klein voorbeeld i.c.m. Exact Online is hier te vinden.
Meer weten over API’s, koppelingen en rapportages? Altijd leuk een berichtje of belletje te ontvangen!