Eine externe Anwendung kann erst auf die Daten einer Installation zugreifen, wenn der Landwirt seine Genehmigung erteilt hat. Nachdem der Landwirt seine Genehmigung erteilt hat, erhalten Sie ein Token, mit dem Sie sich bei der Nedap Livestock Connect API authentifizieren können. Bei jedem API-Aufruf benötigen Sie diesen Token als Nachweis der Genehmigung.

Für diesen Autorisierungs- und Authentifizierungsprozess verwenden wir das Standard-OAuth2-Autorisierungsprotokoll. Weitere Informationen über das OAuth2-Autorisierungsprotokoll finden Sie hier.

Implementierung des OAuth2-Protokolls

Zur Einrichtung einer skalierbaren Infrastruktur, die den Autorisierungsprozess ausführen kann, müssen Sie das OAuth2-Protokoll in Ihrer Anwendung implementieren. Dazu muss Ihre Anwendung über eine Schnittstelle für den Landwirt und einen dedizierten Server verfügen, der Anforderungen akzeptieren und Token speichern kann.

Vorbereitung

Um über das OAuth2-Autorisierungsprotokoll die Genehmigung eines Landwirts zu erhalten, müssen Sie zuerst einen Code in Ihrer Anwendung schreiben, der den Landwirt auf eine Nedap-Seite weiterleitet, wo er Ihre Anwendung für den Zugriff auf die Daten seiner Installation autorisieren kann. Die Implementierung erfordert etwas Arbeit, aber sobald sie abgeschlossen ist, haben Sie eine sichere und skalierbare Lösung, mit der ein neuer Landwirt Ihre Anwendung ganz einfach mit seiner Nedap Livestock-Installation verbinden kann.

OAuth2 flow summarized:

  • 1. Ihre Anwendung leitet den Landwirt zum Business Insight-Dialog weiter.
  • 2. Der Landwirt kann sich mit seinen Anmeldedaten für Business Insight anmelden (weitere Informationen finden Sie unter Business Insight) und Ihre Anwendung autorisieren.
  • 3. Der Landwirt wird mit einem temporären Autorisierungstoken zu Ihrer Anwendung weitergeleitet.
  • 4. Mithilfe dieses Autorisierungstokens können Sie das permanente Zugriffstoken von der API abrufen.

Schritt 1: Leiten Sie den Landwirt zum Business Insight-Dialog weiter.

Initialisieren Sie den Autorisierungsprozess durch die Weiterleitung des Landwirts von Ihrer eigenen Anwendung zum Business Insight-Dialog. Sie sollten Ihre eigene Client-ID (die Sie von Nedap erhalten haben) und eine Callback-URL beifügen.

Example:

curl -H GET https://nedap-bi.com/oauth/authorize \
-d 'client_id=0855df3868'\
-d 'redirect_uri=https://my_application.com/authorization_code'\
-d 'response_type=code'\

Schritt 2: Der Landwirt autorisiert Ihre Anwendung.

[hier komen 2 screenshots van BI-gebruiker die toegang geeft]

Schritt 3: Der Landwirt wird zu Ihrer Anwendung weitergeleitet und erteilt Ihnen ein Autorisierungstoken.

Der Landwirt wird zu der in der Anforderung angegebenen Callback-URL weitergeleitet. Wenn der Benutzer Ihre Anwendung autorisiert hat, enthält die Weiterleitungs-URL einen zusätzlichen Parameter, das Authentifizierungstoken. Beim vorstehenden Code-Beispiel wird durch einen erfolgreichen Autorisierungsprozess die folgende URL aufgerufen: https://my_application.com/authorization_code?code=aecd3e40cd

Schritt 4: Zugriffstoken abrufen

Mit dem erhaltenen Autorisierungstoken können Sie ein Zugriffstoken vom Autorisierungsserver anfordern. In der Anforderung müssen Sie Ihre private Client-ID und das Client-Geheimnis (das Sie von Nedap erhalten haben), eine Callback-URL und das erhaltene Autorisierungstoken beifügen.

Beispiel für Autorisierungstoken:

curl -d 'client_id=0855df3868'\
-d 'client_secret=b0147b284a'\
-d 'code=aecd3e40cd'\
-d 'grant_type=authorization_code'\
-d 'redirect_uri=https://my_application.com/access_code'\
https://nedap-bi.com/oauth/token

Zugriffstoken und Aktualisierungstoken

Wenn alles klappt, gibt der Autorisierungsserver ein Zugriffstoken und ein Aktualisierungstoken aus. Zum Beispiel:

{
"access_token": "14f47b4ceb",
"token_type": "bearer",
"expires_in": 6464,
"refresh_token": "dfea2eccfd",
"scope": "account"
}

Kopfzeile für API-Aufrufe

Mit diesem Zugriffstoken können Sie auf die Daten der entsprechenden Installation zugreifen, indem Sie den API-Aufrufen folgende Kopfzeile hinzufügen:

'Authorization': Bearer 14f47b4ceb

[hier komt nog ‘List of OAuth methods’. Evt. als te downloaden document weergeven]