3.2. Authentifizierung und Autorisierung

Authentifizierung

Die Authentifizierung beantwortet die Frage, wer eine Anfrage gesendet hat. Die Anmeldung eines Benutzers muss über ein Sage Konto (Sage ID Identität) erfolgen. Das ausgestellte Access Token (Bearer) wird im Authorization Header der Anfrage gesendet. Mit dem Access Token, kann die Identität eines Aufrufers festgestellt werden.

GET https://[baseurl]/sdata/ol/apiArtikel.Sage.API/OLDemoReweAbfD;123/eptArtikel.Sage.API('MDAxMDAwNDA=;MA==') HTTP/1.1 Accept: application/json Authorization: Bearer <<Access Token>>

Der Access Token ist ein Json Web Token (JWT) Token, das z.B. mit http://jwt.io dekodiert werden kann.

Sage ID ist ein Sage Provider, der OpenID Connect und OAuth 2.0 unterstützt, um Benutzer zu authentifizieren.

Applikationstypen

Es gibt unterschiedliche Typen von Applikationen:

  • Native Applikation
    Wird für Mobile Applikationen oder Desktop Applikationen verwendet, die nativ in einem Device auf Windows, Android, iOS oder OS/X ausgeführt werden.

  • Single Page Applikation (noch nicht verfügbar!)
    Benutzt für Javascript Frontend Applikationen, die in einem Browser ausgeführt werden mit Angular, jQuery oder React.

  • Web Applikation
    Wird verwendet für Web Applikationen, die in ASP.Net (Core), Java oder Node.js.

  • Systemische Integration mit Maschine-Maschine (M2M) Sage ID
    Wird verwendet für Web Applikationen mit bereits bestehender Anmeldung und systemischer Integration mit dem Sage 100 System über eine M2M SageID Client.

Um ein Access Token zu erhalten, muss die Applikation Parameter an Sage ID, eine ClientId, ein Client Secret für ein Web Applikation und nur eine ClientId für Native und Single Page Applikation übergeben werden.

Bitte beachten Sie, dass der Applikationstyp “Single Page Applikation” aktuell noch nicht unterstützt wird.

Autorisierung

Die Authentifizierung beantwortet die Frage, was die Identität darf, die festgestellt wurde. Es wird auf mehreren Ebenen überprüft, ob eine Anfrage eines Sage Konto zu einer Sage 100 über das Connectivity Gateway erlaubt ist.

Fragen

Überprüfung

Fragen

Überprüfung

Darf ein Sage Konto eine Anfrage an ein Sage 100 Installation senden?

Ein Sage Konto Benutzer muss Berechtigung auf ein Entitlement haben, dass eindeutig zu einer Sage 100 Installation zugeordnet ist.

Ist ein im Dataset enthaltene Datenbank für eine API freigegeben?

In einer Datenquelle im OL Administrator ist “Für API freigeben” gesetzt (IsUsedWithAPI=1).

Ist ein authentifizierter Sage Konto Benutzer einer Sage 100 Datenbank bekannt?

Ein Sage Konto ist in USysSecurityUser eingetragen wie bei anderen Benutzern mit zusätzlichen Eigenschaften wie Auth0Email und Auth0ID - der ID und E-Mail Adresse - eines Sage Kontos.

Hat ein Benutzer (Sage Konto) ein notwendiges Applikations-Recht für die Ausführung einer Anfrage?

Ein Sage Konto ist einem Sage 100 Benutzer zugeordnet wie oben beschrieben. Ein Sage 100 Benutzer muss Berechtigung haben für angefragte Sage 100 Ressourcen.