Authentifizierung

OAuth2-Authentifizierung

Cryptohopper verwendet OAuth2, um autorisierten Zugriff auf seine API zu gewähren.

OAuth2 verwenden

Das Verständnis der Funktionsweise von OAuth2 kann dir helfen, Anwendungen zu erstellen und zu debuggen, die die Cryptohopper-API nutzen. Um OAuth zu verwenden, muss eine App:

  • Grant-Tokens erhalten, um im Namen eines Benutzerkontos zu handeln.
  • Grant-Tokens in Access-Tokens umwandeln.
  • Alle HTTP-Anfragen an Cryptohoppers APIs autorisieren.

Die Benutzerauthentifizierungsmethode erlaubt es einer App, im Namen des Nutzers zu agieren, als wäre es der Nutzer selbst.

Beispiel: Wenn ein Entwickler eine Funktion erstellen wollte, die es einem Trading-Bot erlaubt, über die Plattform eine bestimmte Kryptowährung zu kaufen, indem er den Buy-Endpoint nutzt, müsste der Entwickler die Benutzerauthentifizierung verwenden, um die Erlaubnis des Nutzers einzuholen, im seinem Namen zu handeln.

Mit anderen Worten, ein signiertes Request identifiziert die Identität der Anwendung neben den erteilten Berechtigungen des Endbenutzers, für den die Anwendung API-Aufrufe vornimmt, repräsentiert durch den Access-Token des Benutzers.

Die Benutzerauthentifizierung benötigt den App-Key und das App-Secret deiner Cryptohopper-Applikation sowie den Access-Token und das Access-Secret des Nutzers.

Weitere Infos zu den OAuth-Methoden findest du unten.

OAuth2-Methoden

authorize

Über den Authorize-Endpoint können sich Anwender bei Cryptohopper anmelden und der Anwendung Zugriff gewähren. Nach erfolgreicher Gewährung des Zugriffs oder nach Fehlern wird der Nutzer auf die Redirect-URL weitergeleitet. Sollte die Redirect-URL nicht im Request angegeben sein, wird die Redirect-URL aus den Applikations-Einstellungen verwendet. In den GET-Parametern der Redirect-URL erhältst du den Grant-Token, welcher in einen Access-Token getauscht werden kann.


Endpoint: https://www.cryptohopper.com/oauth2/authorize

Akzeptiert: GET

Gibt zurück: code, state im GET auf der Redirect-URL

Parameter:

  • client_id: Der App-Key deiner Anwendung.
  • response_type: Der Response-Type muss den Text „code“ enthalten.
  • redirect_uri: Die Redirect-URL, auf die Nutzer nach dem OAuth-Prozess weitergeleitet werden.
  • state: Zusätzlicher Parameter zur Erkennung von Anfragen auf Anwendungsebene. Wird an die Redirect-URL zurückgegeben.
  • scope: Eine kommaseparierte Liste von Scopes, z.B.: read,notifications,manage,trade.

 

token

Der Token-Endpoint dient zum Tausch eines Grant-Tokens/Codes gegen einen gültigen Access-Token.


Endpoint: https://www.cryptohopper.com/oauth2/token

Akzeptiert: POST in application/json

Gibt zurück: access_token und refresh_token in application/json

Parameter:

  • client_id: Der App-Key deiner Anwendung.
  • client_secret: Das App-Secret deiner Anwendung.
  • grant_type: Der Grant-Type muss den Text „authorization_code“ enthalten.
  • redirect_uri: Die Redirect-URL deiner Anwendung.
  • code: Der Grant-Token/Code.

 


Erfolgreiche Antwortcodes

Wenn der Request an den access_token-Endpoint erfolgreich ist, wird der Nutzer auf die Redirect-URL mit dem Grant-Token als GET-Parameter weitergeleitet.

Ein erfolgreicher Request an den Token-Endpoint liefert einen 200er Statuscode und einen access_token im Body, der für die Authentifizierung von API-Aufrufen verwendet werden kann.

Fehlerantwortcodes

Fehler, die an die Redirect-URL zurückgegeben werden, sind an dem GET-Parameter „error=1“ erkennbar. Nachfolgend findest du mögliche Fehlermeldungen:

  • App-Key ungültig.
  • Signatur ungültig.
  • App-Key darf nicht leer sein.
  • Nutzer hat der App keine Berechtigung erteilt.