Wenn Sie eine API in Portal verwenden, die den Einsatz von Tokens (Client IDs und Client Secrets) erfordert, erklärt dieser Artikel, wie Sie diese generieren.
Bitte beachten Sie, dass nur Benutzer mit den Rollen „owner" und „admin" Zugriff auf die Seite API Configuration haben. Es wird empfohlen, einen spezifischen Admin-Benutzer für die API-Interaktion zu erstellen. Zum Beispiel ermöglicht es Ihnen dies bei der Shipment Data API, das Shipment Viewer-Profil so anzupassen, dass es genau den gewünschten Daten entspricht, ohne die Benutzeroberflächenkonfiguration anderer Benutzer zu beeinflussen.
Wenn Sie mit den Benutzertypen und Rollen in nShift Ship nicht vertraut sind, empfehlen wir, diesen Artikel zu lesen: Benutzertypen und Rollen verstehen.
Eine Client ID und ein Client Secret erstellen
- Melden Sie sich mit Ihrem Owner-Benutzer bei nShift Portal an.
- Klicken Sie auf Settings in der oberen rechten Ecke.
- Wählen Sie API Configuration > Clients im linken Seitenmenü.
- Klicken Sie auf der Seite Clients auf die Schaltfläche Add.
- Füllen Sie im geöffneten Dialogfeld Display name und Description aus. Wählen Sie einen Namen und eine Beschreibung, die die spätere Identifizierung des Tokens erleichtern. Aktivieren Sie das Kontrollkästchen Enable, um das Token sofort zu aktivieren. (Sie können das Token jederzeit nach der Erstellung aktivieren oder deaktivieren).
- Wählen Sie die Allowed Scopes, also die APIs, auf die Sie Zugriff benötigen.
- Klicken Sie auf Save. Ihre Client Id und Ihr Client Secret werden jetzt generiert und auf dem Bildschirm angezeigt. Wichtig: Notieren Sie die Tokens, da das Client Secret nach dem Schließen des Popups nicht mehr verfügbar ist.
- Klicken Sie auf Save, um die Token-Erstellung abzuschließen.
- Das Token wird nun auf der Seite Clients aufgelistet. Sie können jederzeit auf ein Token klicken, um es zu bearbeiten oder zu löschen oder um es zu aktivieren/deaktivieren. Wenn Sie eine lange Liste von Tokens haben, können Sie die Filteroption oben verwenden, um nur aktivierte oder deaktivierte Tokens anzuzeigen.
Übersicht über Scopes
Diese Liste erklärt die Verwendung der verschiedenen Scopes. Aus Sicherheitsgründen empfehlen wir, nur die Scopes auszuwählen, die Sie benötigen. Es ist besser, mehrere Client IDs mit eng gefassten Scopes zu erstellen als eine ID, die mehrere Scopes abdeckt.
-
Public Containers API (public_containers_api) – Erforderlich für die Verwendung der Container-API zur Verwaltung von Containern. Weiterlesen über die Container-API hier. Sie benötigen diesen Scope auch, wenn Sie Container in nShift On-premises verwenden möchten, Weiterlesen hier.
-
Public COP Cloud Access (public_cop_cloud_access) – Wird für die sichere Kommunikation zwischen On-premises und Portal verwendet, damit Abonnements ausgeführt werden können.
-
ScanApp public Api (public_api_scanapp_consignor) – Erforderlich für die Verwendung von Containern in nShift On-premises. Dieser Scope ermöglicht On-premises den Zugriff auf eine Liste verfügbarer Action Centers basierend auf dem Owner, der der Installation zugeordnet ist. Weiterlesen über Container in On-premises hier.
-
Portal Shipment Data API (public_api_portal_shipment_data) – Erforderlich, wenn Sie die Shipment Data API verwenden möchten, um Sendungsinformationen aus nShift Portal abzurufen. Weiterlesen über die Shipment Data API hier.
- Shipment Server (public_api_shipmentserver) – Dieser Scope ist erforderlich, um die Shipment Server API Version 2 zu verwenden. Weiterlesen hier.
Ein Zugriffstoken abrufen
Verwenden Sie Ihre Client ID und Ihr Client Secret, um ein Zugriffstoken zu generieren, das für weitere Anfragen an unsere API benötigt wird. Dies geschieht durch das Senden einer POST-Anfrage an den folgenden Token-Endpoint:
https://account.nshiftportal.com/idp/connect/token
Geben Sie die Client ID, das Client Secret und den Grant Type in der Sprache und dem Framework an, das Ihr Unternehmen verwendet.
Beispiel:
POST https://account.nshiftportal.com/idp/connect/token
Cache-Control: no-cache
Host: www.nshiftportal.com
Content-Type: application/x-www-form-urlencoded
client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&grant_type=client_credentials
Wenn die Anfrage gültig ist und der Client korrekt konfiguriert ist, erhalten Sie eine JSON-Antwort zurück:
{
"access_token": "some-real-token-data-dskjfhsuijkdhfgjkasjdgfhqoeiefoiknsoidfgvoiltgjvpdrofjmwpkldujrftvoifgkhbnilsakjprotglijkqp2owrlfjkvmowrifgho2qw9ouejifpe9rodtuj3-0porfij9odtujgw0etioyh",
"expires_in": 3600,
"token_type": "Bearer"
}
Weiterführende Literatur
Alle unsere neuen APIs unterstützen eine OpenID-Lösung für erhöhte Sicherheit. Weitere Informationen finden Sie in der OpenId- und IdentityServer-Standarddokumentation: