Anleitung zur Verwendung der OAuth-Authentifizierung für CData-Aufgaben
Geschrieben vonOssi Galkin Vor über einer Woche aktualisiertTable of contentsHinweis: 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