Die InterAction+™ Cloud API verwendet OAuth 2.0 als Autorisierungsrahmen, der es Drittanbieter-Client-Anwendungen ermöglicht, sicher auf Benutzerdaten eines Mandanten zuzugreifen, ohne dass Benutzer ihre Passwörter teilen müssen. Die Autorisierung wird vom InterAction+™ Authorization Server verwaltet, der sichere Zugriffs- und Aktualisierungstoken ausstellt, die kontrollierten Zugriff auf die InterAction+™ Cloud API gewähren.
OAuth 2.0 Autorisierungsablauf
Unsere Implementierung unterstützt den OAuth 2.0 Authorization Code Grant Flow, der eine sichere Authentifizierung und Autorisierung für System-zu-System-Interaktionen gewährleistet. Dieser Ablauf stellt sicher, dass nur authentifizierte und autorisierte Drittanbieter-Clients sicher mit der InterAction+™ Cloud API interagieren können, während strenge Kontrolle über die Zugriffsberechtigungen beibehalten wird.
Wichtige Teilnehmer
- InterAction+™ Mandanten-Admin: Initiiert den Autorisierungsprozess, um einem Drittanbieter-Client Zugriff auf die InterAction+™ Cloud API zu gewähren. Ein Admin muss die Zustimmung für den Zugriff auf InterAction+™-Daten erteilen, um sicherzustellen, dass der API-Zugriff nur autorisierten Drittanbieter-Clients gewährt wird. Zusätzlich muss der Admin einen einzelnen Benutzer für API-Transaktionen benennen. Es wird empfohlen, einen dedizierten Systembenutzer ohne persönliche Daten für diesen Zweck zu erstellen und auszuwählen.
- Drittanbieter-Client: Fordert ein Zugriffstoken vom InterAction+™ Authorization Server an, um im Namen des Mandanten mit der InterAction+™ Cloud API zu interagieren. Der Zugriff wird nur für angeforderte Bereiche innerhalb der Konfiguration des Drittanbieter-Clients gewährt.
- Identitätsanbieter (IdP) des Mandanten: Authentifiziert den InterAction+™ Mandanten-Admin, bevor ein Autorisierungscode ausgestellt wird.
- InterAction+™ Authorization Server: Stellt Zugriffs- und Aktualisierungstoken nach erfolgreicher Autorisierung aus.
Autorisierungsschritte
Die beschriebenen Schritte zerlegen jede einzelne Anfrage, die während des OAuth 2.0 Authorization Code Grant Flows an den InterAction+™ Authorization Server gestellt wird. Während diese Details ein tieferes Verständnis des Prozesses bieten, übernehmen viele Tools (z. B. Postman) und Frameworks diese Anfragen automatisch. In solchen Fällen müssen Benutzer nur die Autorisierungs-URL, die Zugriffstoken-URL und die Aktualisierungstoken-URL konfigurieren, um Authentifizierung und Token-Austausch zu ermöglichen.
-
InterAction+™-Mieteradministrator autorisiert Drittanbieter-Client: Um einem Drittanbieter-Client Zugriff auf die InterAction+™ Cloud-API zu gewähren, muss der InterAction+™-Mieteradministrator den Einrichtungsprozess innerhalb der Benutzeroberfläche des Drittanbieter-Clients starten. Nach der Initiierung sendet der Drittanbieter-Client eine Anfrage an den Autorisierungsendpunkt, wodurch der InterAction+™-Mieteradministrator die folgenden Schritte abschließen muss, bevor ein Autorisierungscode erhalten wird:
-
Authentifizierung mit Identitätsanbieter (IdP): Der InterAction+™ Tenant-Administrator muss sich mit den IdP-Anmeldedaten seiner Organisation einloggen, um seine Identität zu verifizieren. Dieser Schritt gewährleistet eine sichere Authentifizierung, bevor der Zugriff gewährt wird.
-
Zustimmung für den Zugriff von Drittanbieter-Clients erteilen: Nach der Authentifizierung überprüft und genehmigt der InterAction+™ Tenant-Administrator die Anfrage des Drittanbieter-Clients auf Zugriff auf die InterAction+™ Tenant-Daten.
-
Einen API-Benutzer benennen: Der InterAction+™ Tenant-Administrator muss einen bestimmten Benutzer benennen, der für die Verwaltung der InterAction+™ Cloud-API-Transaktionen innerhalb des Tenants verantwortlich ist. Der InterAction+™ Tenant-Administrator muss einen bestimmten Benutzer benennen, der für die Verwaltung der InterAction+™ Cloud-API-Transaktionen innerhalb des Tenants verantwortlich ist.
-
Endpunkt:
GET {InterAction+™ Tenant Authority URL}/connect/authorizeParameter
Beschreibung
response_type=code Fordert einen Autorisierungscode an. client_id Die eindeutige Kennung des Drittanbieter-Clients. redirect_uri Die OAuth-Rückgabe-URL, an die der Autorisierungscode gesendet wird (registriert während der Client-Onboarding). scope Die angeforderten Berechtigungen (z.B. openid offline_access public.contact.read). state Ein zufälliger Wert, um CSRF-Angriffe zu verhindern. -
Bereiche: Bereiche definieren das Zugriffslevel, das dem Drittanbieter-Client gewährt wird. Das vom InterAction+™-Autorisierungsserver ausgestellte InterAction+™-Cloud-API-Zugriffstoken umfasst die vom Drittanbieter-Client im Rahmen seiner Konfiguration angeforderten Bereiche.
Umfang
Beschreibung
openid Ermöglicht die Unterstützung von OpenID Connect und damit die Identitätsüberprüfung. offline_access Ermöglicht das Anfordern eines Aktualisierungstokens, damit der Drittanbieter-Client ein neues Zugriffstoken erhalten kann, ohne dass eine Benutzerinteraktion erforderlich ist. public.activity.read Aktivitäten lesen public.activity.modify Aktivitäten ändern public.contact.read Kontakte und zugehörige Informationen lesen public.contact.modify Kontakte und zugehörige Informationen ändern public.list.read Listen lesen public.list.modify Listen und zugehörige Informationen ändern -
Beispiel einer Autorisierungsanfrage:
{InterAction+™ Tenant Authority URL}/connect/authorize?response_type=code&client_id=third-party-client-id&redirect_uri=https://thirdpartyapp.com/oauth/callback&scope=openid offline_access public.contact.read&state=xyz123
-
-
Austausch des Autorisierungscodes gegen Zugriffs- und Aktualisierungstoken: Sobald der Autorisierungscode erhalten wurde, muss der Drittanbieter-Client ihn gegen einen Zugriffstoken und einen Aktualisierungstoken austauschen, indem er eine Anfrage an den Token-Endpunkt stellt.
-
Token-Endpunkt:
POST {InterAction+™ Tenant Authority URL}/connect/tokenParameter
Beschreibung
grant_type=authorization_code Gibt den Autorisierungscode-Grant-Typ an. code Der Autorisierungscode, der im vorherigen Schritt erhalten wurde. redirect_uri Die OAuth-Rückgabe-URL, an die die Tokens gesendet werden (registriert während der Client-Onboarding). client_id Die Drittanbieter-Client-ID. client_secret Das Drittanbieter-Client-Geheimnis. -
Beispiel für eine Token-Austauschanfrage:
POST {InterAction+™ Tenant Authority URL}/connect/tokenContent-Type: application/x-www-form-urlencodedgrant_type=authorization_code&client_id=third-party-client-
id&client_secret=third-party-client-
secret&code=AUTHORIZATION_CODE_FROM_STEP_1&redirect_uri=https://third-
party-app.com/oauth/callback -
Beispiel-Token-Antwort:
{
"id_token": "eyJhbGciOiJIUzI1NiIsInR...",
"access_token": "eyJhbGciOiJIUzI1NiIsInR...",
"expires_in": 3600,
"refresh_token": "def5020072b36c9b...",
"token_type": "Bearer",
"scope": "openid public.activity.read …”
}Token
Beschreibung
id_token JWT, das Benutzer-Authentifizierungsinformationen enthält. access_token JWT-Token, der zum Zugriff auf die InterAction+™ Cloud-API verwendet wird. expires_in Ablaufzeit des Access Tokens (in Sekunden). refresh_token Refresh Token, der verwendet wird, um ein neues Access Token ohne Benutzereingriff anzufordern. token_type Immer Bearer, verwendet in Autorisierungs-Headern. Umfang
Das Zugriffslevel, das dem Drittanbieter-Kunden gewährt wird.
-
Token-Endpunkt:
-
API-Anfragen mit dem Zugriffstoken stellen: Sobald das Zugriffstoken erhalten wurde, fügt der Drittanbieter-Client es in den Authorization-Header der API-Anfragen ein. Dieser Mechanismus stellt sicher, dass nur authentifizierte Benutzer mit einem gültigen JWT-Zugriffstoken auf die InterAction+™ Cloud-API zugreifen können.
-
Beispiel für eine API-Anfrage:
POST {InterAction+™ Cloud-API-URL}Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR...Body: GraphQL-Anfrage
-
Beispiel für eine API-Anfrage:
-
Aktualisierung des Zugriffstokens: Da Zugriffstokens eine kürzere Lebensdauer haben, ermöglicht das Aktualisierungstoken dem Drittanbieter-Client, ein neues Zugriffstoken zu erhalten, ohne dass eine Benutzerinteraktion erforderlich ist.
-
Token-Endpunkt:
POST {InterAction+™ Tenant Authority URL}/connect/tokenParameter
Beschreibung
grant_type=refresh_token Gibt den Grant-Typ an, um das Refresh-Token abzurufen. refresh_token Der im vorherigen Schritt erhaltene Refresh-Token. client_id Die Drittanbieter-Client-ID. client_secret Das Drittanbieter-Client-Geheimnis.
-
Token-Endpunkt:
-
-
Beispielanfrage:
POST {InterAction+™ Tenant Authority URL}/connect/tokenContent-Type: application/x-www-form-urlencodedgrant_type=refresh_token&client_id=third-party-client-id&client_secret=third-party-client-secret&refresh_token=REFRESH_TOKEN -
Beispiel für eine Refresh-Token-Antwort:
{
"id_token": "neues_id_token_hier",
"access_token": "neues_access_token_hier",
"expires_in": 3600,
"refresh_token": "neues_refresh_token_hier",
"token_type": "Bearer"
"scope": "openid public.activity.read …”
}Token
Beschreibung
id_token JWT, das Benutzer-Authentifizierungsinformationen enthält. access_token JWT-Token, der zum Zugriff auf die InterAction+™ Cloud-API verwendet wird. expires_in Ablaufzeit des Access Tokens (in Sekunden). refresh_token Refresh Token, der verwendet wird, um ein neues Access Token ohne Benutzereingriff anzufordern. token_type Immer Bearer, wird in Autorisierungs-Headern verwendet. scope Das Zugriffslevel, das dem Drittanbieter-Client gewährt wird.
-
Token-Lebenszyklus
- Ablauf des Zugriffstokens: Das Zugriffstoken ist eine Stunde lang gültig.
- Ablauf des Auffrischungstokens: Das Auffrischungstoken ist 30 Tage lang gültig. Wenn das Auffrischungstoken abläuft, muss der InterAction+™ Tenant Admin den Autorisierungsprozess erneut starten, um neue Tokens zu erhalten.
- Token-Widerruf: Der InterAction+™ Tenant Admin kann Zugriffstokens für einen Drittanbieter-Client jederzeit widerrufen, wodurch der API-Zugriff von der Tenant-Verwaltung in CIM sofort beendet wird. Weitere Informationen finden Sie im Client Insights Answer Center für Hybrid oder SaaS-Benutzer.
Verwendung des Auffrischungstokens
Unsere Konfiguration implementiert Einmalverwendung von Auffrischungstokens, um ein sicheres Token-Management zu unterstützen.
- Wenn ein Drittanbieter-Client ein Auffrischungstoken verwendet, um ein neues Zugriffstoken zu erhalten, wird ein neues Paar von Zugriffs- und Auffrischungstokens ausgestellt.
- Das zuvor verwendete Auffrischungstoken wird sofort widerrufen und kann nicht mehr verwendet werden.
Wenn ein Drittanbieter-Client ein bereits verwendetes oder durch ein neueres Token ersetztes Auffrischungstoken einreicht, schlägt die Anfrage mit einem Fehler fehl, da das Token nicht mehr gültig oder in unserem Token-Speicher vorhanden ist.
Best Practices
- Ersetzen Sie nach jedem erfolgreichen Auffrischen Ihr gespeichertes Auffrischungstoken durch das neue und verwenden Sie für zukünftige Auffrischungsanfragen nur das aktuellste Token.
- Versuchen Sie nicht, frühere Auffrischungstokens wiederzuverwenden oder darauf zurückzugreifen.
- Vermeiden Sie es, mehrere Auffrischungsanfragen parallel zu senden, da die erste Anfrage das Token rotiert und nachfolgende Anfragen mit dem alten Token fehlschlagen werden.