Verwendung des benutzerdefinierten (OAuth) Anmeldetyps
Wenn Sie die Integration von Webdienstdatenaktionen hinzufügen, können Sie einen Berechtigungstyp auswählen: Basic Auth, Benutzerdefiniert oder Benutzerdefiniert (OAuth). Weitere Informationen finden Sie unter Add a data actions integration und Credential types
In diesem Artikel wird die Verwendung des benutzerdefinierten (OAuth) Anmeldeinformationstyps erläutert. Weitere Informationen finden Sie unter Workflow for User Defined (OAuth) credential type.
- Wenn Sie die Integration hinzufügen, konfigurieren Sie die benutzerdefinierten (OAuth) Anmeldedaten.
Fügen Sie die von Ihrem Webdienst verwendeten Feldnamen und Werte für diese Feldnamen hinzu.
Die Integration erstellt eine benutzerdefinierte Authentifizierungsaktion, die eine Authentifizierungsantwort zurückgibt.
- Konfigurieren Sie die benutzerdefinierte Authentifizierungsaktion mit den Informationen, die für die Authentifizierung mit dem definierten Endpunkt erforderlich sind.
Die Integration stellt diese Feldnamen und Werte dann für die Verwendung in nachfolgenden benutzerdefinierten Aktionen zur Verfügung. Die Werte der Authentifizierungsantwort sind im Velocity-Kontext authResponse zugänglich
Gehen Sie folgendermaßen vor, um Ihre Autorisierungsaktion zu konfigurieren:
- Öffnen Sie die benutzerdefinierte Autorisierungsaktion.
Sie können auf die benutzerdefinierte Autorisierungsaktion auf zwei Arten zugreifen:
- Klicken Sie auf der Seite Anmeldeinformationen für die Aktion auf Custom Auth Action.
- Klicken Sie auf der Seite "Aktionen" auf die benutzerdefinierte Autorisierungsaktion für Ihre Integration. Weitere Informationen finden Sie unter Aktionen verwalten.
- Klicken Sie auf die Registerkarte Setup
- Klicken Sie auf die Registerkarte Konfiguration .
Die Anfrage für die benutzerdefinierte Autorisierungsaktion enthält Autorisierungsinformationen. Im folgenden Beispiel ist die Autorisierung in den Kopfzeilen enthalten. credentials ist ein statisches Schlüsselwort. loginUrl, clientIdund clientSecret sind die Feldnamen, die der Credential-Konfiguration hinzugefügt wurden.
Warnung: Achten Sie darauf, jede Verwendung von Eingabe- oder Ausgabevariablen innerhalb von requestTemplate, successTemplate, oder requestUrlTemplatezu entschlüsseln. Wenn Sie Variablen mit Sonderzeichen nicht richtig entschlüsseln, werden Ihre Datenaktionen bei der Ausführung fehlschlagen.- Verwenden Sie esc.jsonString , um Zeichenketten in JSON-Bodies zu entschlüsseln
Weitere Informationen finden Sie im Abschnitt esc.jsonString in Velocity macros for data actions.
- Verwenden Sie esc.url() oder urlTool.optionalQueryParam() , um Pfad- oder Abfrageparameter für ein requestUrlTemplate oder requestTemplate richtig zu entschlüsseln, wenn x-www.form-urlencoded Werte verwendet werden.
Weitere Informationen finden Sie im Abschnitt über die String-Escaping-Bibliothek unter Velocity-Makros für Datenaktionen.
Da Escaping kontextspezifisch für JSON ist, wird im folgenden Beispiel absichtlich kein Escaping gezeigt.
{ "requestUrlTemplate": "${credentials.loginUrl}", "requestType": "POST", "headers": { "Authorization": "Basic $encoding.base64(\"${credentials.clientId}:${credentials.clientSecret}\")", "Content-Type": "application/x-www-form-urlencoded" }, "requestTemplate": "grant_type=client_credentials" }
Hinweis: Wenn Ihre benutzerdefinierte Authentifizierungsaktion nicht unterstützt Transfer-Kodierung einstellen zerstückelt , hinzufügen Transfer-Kodierung: gepuffert unter Überschriften. Weitere Informationen finden Sie unter Benutzerdefinierte Aktion schlägt aus unerwartetem Grund fehl . - Verwenden Sie esc.jsonString , um Zeichenketten in JSON-Bodies zu entschlüsseln
- Klicken Sie auf die Registerkarte Test
- Klicken Sie auf Aktion ausführen.
Die Integration führt die benutzerdefinierte Authentifizierungsaktion aus und gibt aus, was Ihr Webdienst zurückgibt (mit geschwärzten Werten). Im folgenden Beispiel liefert der Webdienst access_token für clientId, token_type für clientSecret, und expires_in.
{ "access_token": "<redacted string(86)>", "token_type": "<redacted string(6)>", "expires_in": "<redacted number>" }
- Öffnen Sie die benutzerdefinierte Autorisierungsaktion.
- Verwenden Sie die Authentifizierungsantwort, die Ihr Webdienst zurückgibt, in den Anforderungen aller benutzerdefinierten Aktionen, die Sie erstellen.
Das folgende Beispiel ist eine Anfrage für eine benutzerdefinierte Aktion mit dem Namen Get Presence. Die Kopfzeile der benutzerdefinierten Aktionsanfrage enthält die Autorisierung. authResponse ist ein statisches Schlüsselwort. token_type und access_token sind die vom Webdienst zurückgegebenen Werte. Weitere Informationen finden Sie unter Erstellen einer benutzerdefinierten Aktion, Konfiguration zu benutzerdefinierten Aktionen hinzufügenund Konfiguration anfordern.
{ "requestUrlTemplate": "https://api.mypurecloud.com/api/v2/users/${input.USER_ID}/presences/PURECLOUD", "requestType": "GET", "headers": { "Authorization": "${authResponse.token_type} ${authResponse.access_token}" }, "requestTemplate": "${input.rawRequest}" }
Hinweis: Wenn Sie eine benutzerdefinierte Aktion testen, werden bei der Integration alle Berechtigungsinformationen unkenntlich gemacht. Weitere Informationen finden Sie unter Testen Sie eine benutzerdefinierte Aktion.
Weitere Informationen über die Integration finden Sie unter Über die Integration von Web Services Data Actions.