OAuth-Authentifizierung für CData-Aufgaben

Anleitung zur Verwendung der OAuth-Authentifizierung für CData-Aufgaben

Ossi Galkin avatarGeschrieben vonOssi Galkin Vor über einer Woche aktualisiertTable of contents

Hinweis: Für CData-Aufgaben ist Frends-Version 5.3 oder höher erforderlich.

CDatas Online-Dokumentationsollte immer als Ausgangspunkt verwendet werden, wenn CData-Treiber übernommen werden. Wählen Sie nach Auswahl eines TreibersOnline-DokumentationunterADO.NET-AnbieterAm Beispiel von Google Drive:

Suchen Sie als nächstes nach Dokumentation zur OAuth-Authentifizierung, die im Fall von Google Drive unterErste Schritte → OAuth-Authentifizierung verwenden

Es gibt möglicherweise mehrere Ansätze zur Verwendung der OAuth-Authentifizierung für den von Ihnen verwendeten Treiber. Machen Sie sich mit den möglichen Optionen vertraut und wählen Sie eine aus, die Ihren Anforderungen entspricht.

Beispiel 1: Google Drive, eingebettete Anmeldeinformationen

Richten Sie in Freunden eine CData-Abfrageaufgabe mit einer gültigen Abfrage ein, wie unten gezeigt.

Wenn Sie noch keine gültige Abfrage haben, finden Sie Beispiele in der Dokumentation von CData – diese Abfrage wurde gefunden unterSQL-Konformität → Anweisungen auswählen.

Bei Verwendung der OAuth-Authentifizierung müssen der Verbindungszeichenfolge mehrere OAuth-bezogene Eigenschaften hinzugefügt werden. Die genauen Eigenschaften hängen vom Treiber und der Art der von Ihnen verwendeten Anmeldeinformationen ab. In diesem Beispiel folgen wir der ersten Phase der Anweisungen zur Verwendung eingebetteter OAuth-Anmeldeinformationen auf einem Headless-Computer.

Nachdem wir die Anweisungen befolgt haben, könnte unsere Verbindungszeichenfolge ungefähr so ​​aussehen:

OAuthVerifier=<geheimes Passwort redigiert>;InitiateOAuth=REFRESH;OAuthSettingsLocation=C:\Benutzer\Öffentlich\Dokumente\oauth-settings.txt;CallbackURL=urn:ietf:wg:oauth:2.0:oob

Danach kann die Aufgabe erfolgreich ausgeführt werden. Wir mussten die CallbackURL-Eigenschaft hinzufügen, die in diesem Teil der Dokumentation nicht erwähnt wurde, um einen Fehler beim Ausführen des Prozesses zu vermeiden. Möglicherweise ist etwas Einfallsreichtum seitens der Implementierer erforderlich, um die Dokumentation von CData zu ergänzen.

Beispiel 2: Facebook, benutzerdefinierte Anmeldeinformationen

Auch hier navigieren wir zunächst zum entsprechenden Teil der CData-Dokumentation, der uns als Zwischenschritt zu einem anderen Teil der Dokumentation zum Erstellen einer benutzerdefinierten OAuth-Anwendung mit Facebook weiterleitet.

Viele Treiber erfordern, dass Sie eine OAuth-Anwendung auf der Zielplattform registrieren, um eine OAuth-Authentifizierung durchzuführen. Unserer Erfahrung nach kann die Dokumentation von CData manchmal vage oder veraltet sein, aber mit etwas Einfallsreichtum können diese Dinge überwunden werden. Insbesondere sollten Sie die Dokumentation der Plattform selbst durchsehen und sich mit den Details zur Funktionsweise des OAuth-Authentifizierungsablaufs vertraut machen.

Sobald wir eine benutzerdefinierte OAuth-Anwendung bei Facebook registriert haben und dadurch eineOAuthClientIdUndOAuthClientSecret,Wir sind bereit, mit der Authentifizierung mithilfe von Freunden fortzufahren.

Wir haben die Verbindungszeichenfolge in einer Triggervariable gespeichert und sie sieht ungefähr so ​​aus:

OAuthClientId=<App-ID>;OAuthClientSecret=<App-Geheimnis>

Gemäß der OAuth-Dokumentation haben wir für den ersten Schritt des Token-Austauschs eine Aufgabe wie diese erhalten:

Durch Ausführen dieses Vorgangs wird eine URL erstellt, die wir zur Authentifizierung verwenden können und die uns zu einer Rückruf-URL weiterleitet, die einen Autorisierungscode enthält.

Wir können nun den Autorisierungscode gegen einen Zugriffstoken austauschen. Kopieren Sie die vorherige Aufgabe und ändern SieAusführenZuGetOAuthAccessTokenund fügen Sie einen neuen Prozedurparameter hinzuPrüfer,enthält den Wert desCodeAbfrageparameter in der Rückruf-URL von vorher. Wenn wir den Prozess wie beim letzten Mal ausführen und das Ergebnis der Aufgabe überprüfen, sollten wir jetzt ein Zugriffstoken erhalten.

Wir fügen dies zu unserer Verbindungszeichenfolge hinzu

OAuthClientId=<App-ID>;OAuthClientSecret=<App-Geheimnis>;OAuthAccessToken=<Zugriffstoken>

und kann jetzt laufenFacebookQuery ausführenAufgaben.


Andere Beispielverbindungszeichenfolgen

Dynamics 365 Sales mit Client-Anmeldeinformationen

InitiateOAuth=GETANDREFRESH;OrganizationURL=<Url für Dynamics-Zugriff, zB https://xyz.crm4.dynamics.com/api/data/v9.0/>;OAuthGrantType=CLIENT;AzureTenant=<zB xyz.com>;OAuthClientSecret=<ClientSecret>;OAuthClientId=<ClientId>;

Dynamics 365 Sales mit vorab erworbenem Zugriffstoken

InitiateOAuth=OFF;OrganizationURL=<URL für Dynamics-Zugriff, zB https://xyz.crm4.dynamics.com/api/data/v9.0/>;OAuthAccessToken=<Zugriffstoken>;


Verwandte ArtikelOAuth-EinstellungenEinführung in die Authentifizierung in HTTP-IntegrationenEinführung in die API-Authentifizierung mit FrendsEinführung in OAuth 2.0Einführung in die Konfiguration einer OAuth-Anwendung