REST API´s stellen auf Basis einer standardisierten Architektur einen unentbehrlichen Bestandteil verteilter IT-Systeme dar. Gemeint ist damit ein Programmierschnittstelle, die sich an den Paradigmen und Verhalten des World Wide Web (WWW) orientiert und einen Ansatz für die Kommunikation zwischen Client und Server in Netzwerken beschreibt.
OAuth (Open Authorization) ist ein Protokoll, das eine standardisierte, sichere Autorisierung für Desktop-, Web- und Mobile-Anwendungen erlaubt.
OAuth 2.0 verwendet Tokens zur Autorisierung eines Zugriffs auf geschützte Ressourcen. Dadurch kann einem Client Zugriff auf geschützte Ressourcen gewährt werden, ohne die Zugangsdaten des Dienstes an den Client weitergeben zu müssen.
Um auf geschützte Daten auf dem Resource-Server zuzugreifen, muss ein Access Token vom Client als Nachweis der Autorisierung übermittelt werden. Damit können die mit dem Access Token verbundenen Berechtigungen festgelegt werden. Zum einen kann der Client gewünschte Berechtigungen beim Authorization-Server anfragen, zum anderen teilt dieser die gewährten Berechtigungen mit. Das Access Token hat eine zeitlich begrenzte Gültigkeit.
Zusammengefasst läuft eine REST-FULL Kommunikation so ab: