Wie verbinde ich mich über Javascript mit OAuth mit der Paypal API?

9

Ich möchte eine kleine App erstellen, die einige Kontoinformationen von Paypal erhält und das auf einer HTML-Seite anzeigt. Ich benutze ausschließlich HTML / CSS und Javascript. Ich möchte den Autorisierungsfluss auf dem Server aus Sicherheitsgründen nicht ausführen. Ich möchte das Token nicht auf dem Server haben.

Ich habe jetzt ein funktionierendes Setup mit dem OAuth-Code-Zuschuss-Flow von Paypal (mehr < a href="https://developer.paypal.com/docs/integration/direct/identity/log-in-with-paypal/#integration-steps"> hier ), aber wie oben beschrieben möchte ich um den Server aus dem Bild zu schneiden.

Es gibt einige Methoden, die auf der Seite, auf die ich gerade Bezug genommen habe, beschrieben wurden, aber keine scheint darauf hinzuweisen, dass eine implizite Erteilung möglich ist.

Ist es möglich, Paypal mit impliziter OAuth-Unterstützung oder etwas Ähnlichem zu verwenden?

(Die aktuellen Antworten verwenden den Code-Grant-Flow, der speziell nicht das ist, wonach ich gefragt habe. Ich weiß, dass einer existiert, aber es ist schlecht, ihn in diesem Fall zu verwenden. Bitte antworten Sie nur, wenn Sie eine Methode kennen die Notwendigkeit, dem Client das geheime OAuth-Token bereitzustellen.)

    
Jham 25.04.2017, 14:25
quelle

1 Antwort

0

Wenn jemand nicht versteht, was / wie funktioniert Implizite Förderung

Natürlich ist das möglich mit normalem JavaScript aber nicht empfehlenswert . Paypal hat einen Endpunkt, um Auth-Tokens zur Verfügung zu stellen:

Ссылка

  

Außerdem müssen Sie die Zustimmung des Benutzers einholen. . Beim Ausführen der Anfrage sollten Sie redirect_uri param mit Ihrer Webapp-URL angeben. Entwickler neigen normalerweise dazu, zurückgegebene Werte auf dem Server-Skript zu speichern, das diese Antwort von Paypal empfängt. Aber es ist nicht notwendig, dass Sie in der Lage sind, Javascript global var location zu lesen, das alle Parameter enthält.

Wie PayPal OAuth 2.0 verwendet

BEARBEITEN:

Um dies zu erreichen, müssen Sie folgende Schritte ausführen:

  

VARIABLEN:

     
  • APP_CLIENT_ID - & gt; Die Client-ID Ihrer App
  •   
  • APP_SECRET - & gt; Der geheime Code Ihrer App
  •   
  • APP_RETURN_URL - & gt; Standardendpunkt Ihrer App MUSS BE gleich redirect_uri sein
  •   
  • OPEN_ID - & gt; zurückgegebener Code, mit dem ein Token für einen bestimmten Kunden erstellt werden kann, um auch Informationen vom Benutzer abzurufen
  •   

Angenommen, Sie haben eine APP in der Website developer.paypal erstellt, um "client_id" und "secret" zu erhalten, um eine URL zu erstellen, die den Benutzer zum Paypal-Anmeldeformular umleitet.

  1. Leiten Sie Ihren Kunden um:

Ссылка

  1. Der Kunde meldet sich bei seinem Konto an und erstellt ein openid , damit es über http: 302 redirect an redirect_uri , das Ihre App sein sollte, an Ihre App zurückgesendet wird.

APP_RETURN_URL? code = OPEN_ID & amp; scope = openid

  1. zurück in Ihrer App können Sie diesen Code verwenden, um eine Anfrage zum Erstellen eines Token .. auszuführen. und liegt bei Ihnen:
  

Sie können Profildaten vom Benutzer abrufen, z. B. Adresse, Telefon ..

Anfrage: curl -v Ссылка -H "Akzeptiere: application / json" -H "Accept-Language: de_DE" -H "Autorisierung: Bearer OPEN_ID" -u "APP_CLIENT_ID: APP_SECRET" -d "Gewährungsart = client_credentials"

Antwort: {"scope": " Ссылка Ссылка Ссылка . * Ссылка Ссылка openid Ссылка Ссылка . * Ссылка "," nonce ":" 2017-05-05T14: 33: 28Z488Zx8aUM1aSVo_wpq8IOecfccJMHptr1PVO2OpWcbA "," access_token ":" A21AAHZCMP5vBuLMzz2m78DJGZhhpmu854amEVEO5WOavfk1GlNl_gmjSi01_69tJLRi5N_6pT-3GpRqZ81_pD1qKIAGANHMQ "," token_type ":" Träger "," app_id ":" APP-80W284485P519543T "," abläuft_in ": 32400}

  1. Dann können Sie dem folgen: Ссылка
k1r0s 05.05.2017 09:11
quelle

Tags und Links