2017-03-22 1 views
0

Mein Projekt hat die Anforderung, auf die Yammer-Daten unter Verwendung der angegebenen REST-API mit serverseitigem Skript (hauptsächlich PHP) zuzugreifen und keine clientseitige Anmeldung zu verwenden Yammers OAuth-Dialog.Yammer Rest API> Authentifizierung basierend auf serverseitigem Skript (PHP) ohne Benutzerinteraktion

Ich habe durch dieses Dokument gegangen:

https://developer.yammer.com/docs/oauth-2

aber sagt, wir Interaktion mit dem Benutzer erfordert.

Was ich wollte, war ich ein client_id und client_Secret zu weiteren Zugriffstoken zu generieren API machen rufen, aber in all diesen Prozessen erzeugen nur ich die authentifizierte Benutzer Benutzernamen und Passwort in meinem serverseitiges Skript verwenden.

Kann jemand eine Lösung vorschlagen oder ist eine clientseitige Interaktion erforderlich?

Vielen Dank im Voraus!

Antwort

0

Sie müssen die Anwendung mindestens einmal von einem Benutzer autorisieren lassen. Dies ist nur die Natur der OAuth-Implementierung und Sie können nicht umgehen. Wenn Benutzer den OAuth-Flow durchlaufen, gilt dies als bewährte Methode.

Wenn Sie ein OAuth-Token für einen verifizierten Administrator von Yammer haben, können Sie impersonation mit get tokens for end users without them interacting mit dem OAuth-Flow verwenden.

0

Die unten von Microsoft Blogs können Ihnen helfen & Quelle am Ende der Antwort hinzugefügt.

  1. Besorgen Sie sich einen Verifiziert Admin-Token für Ihre Anwendung in einem der folgenden zwei Wege

    ein. Erstellen Sie die App mit einem Konto "Verifizierter Administrator" und klicken Sie dann auf der Seite "Basisinformationen" der App auf "Entwickler-Token für diese Anwendung generieren". Beachten Sie, dass Sie die Informationen dieser App im JS-SDK und alle nachfolgenden Aufrufe verwenden müssen.

    b. Verwenden Sie den unter https://developer.yammer.com/docs/test-token beschriebenen Prozess mit einem Konto "Verifizierter Administrator", um ein OAuth-Token für dieses VA-Konto zu erhalten. Beachten Sie, dass Sie in allen zukünftigen Schritten die App-Informationen verwenden müssen, die zum Generieren dieses Tokens verwendet wurden.

  2. Die aktuelle E-Mail-Adresse des Benutzers im serverseitigen Skript abrufen.
  3. Verwenden Sie das in Schritt 1 zum Authentifizieren erhaltene VA-Token, übergeben Sie die E-Mail-Adresse des Benutzers an unseren Endpunkt Benutzer bei E-Mail-Adresse dokumentiert unter https://developer.yammer.com/docs/usersby_emailjsonemailuserdomaincom und verarbeiten Sie dann die Antwort a. Wenn der Aufruf an den API-Endpunkt eine 200-OK-Antwort zurückgibt, überprüfen Sie zuerst das Feld "state", um sicherzustellen, dass der Benutzer "aktiv" ist. Wenn ja, speichern Sie das zurückgegebene Feld "id" und fahren Sie mit Schritt 4 fort. b. Wenn der Anruf ein 404 oder einen anderen Status als "aktiv" zurückgibt, weisen Sie den Benutzer an, die Erstellung und Aktivierung seines Kontos wie gewünscht zu beenden.
  4. Sobald Sie die Benutzer-ID haben, können Sie sie an unseren Identitätswechsel-Endpunkt übergeben, um ein vorautorisiertes OAuth-Token für diesen Benutzer zu erhalten. Dieser Endpunkt ist unter https://developer.yammer.com/docs/impersonation dokumentiert und muss das in Schritt 1 erhaltene VA-Token zur Autorisierung des Aufrufs und den consumer_key Ihrer JS SDK-App verwenden.
  5. Sie haben jetzt ein OAuth-Token für den aktuellen Benutzer. Wenn Sie den Code generieren, der an den Browser übergeben wird, rufen Sie zuerst den clientseitigen JS SDK-Code yam.platform.getLoginStatus auf. Wenn keine aktive Sitzung vorhanden ist und Sie über ein Token aus Schritt 4 verfügen, übergeben Sie dieses Token an yam.platform.setAuthToken ($ tokenFromStep4, optional_callback_function_if_desired (Antwort)). Wenn Sie kein gültiges Token haben, weisen Sie den Benutzer an, die Einrichtung seines Yammer-Kontos abzuschließen.
  6. Setzen Sie die JS SDK-Aufrufe wie gewohnt fort, ohne dass der Benutzer sich authentifizieren muss.

Quelle: https://blogs.technet.microsoft.com/askyammer/2016/11/04/preauthorizing-the-yammer-js-sdk/

Verwandte Themen