2017-04-25 17 views
9

मैं एक छोटा ऐप बनाना चाहता हूं जो पेपैल से कुछ खाता जानकारी प्राप्त करता है और दिखाता है कि एक HTML पृष्ठ में। मैं पूरी तरह से HTML/CSS और जावास्क्रिप्ट का उपयोग करता हूं, मैं सुरक्षा प्रभावों के लिए सर्वर पर प्राधिकरण प्रवाह चलाने के लिए नापसंद करता हूं। मैं सर्वर पर टोकन नहीं चाहता हूं।OAuth का उपयोग कर जावास्क्रिप्ट के माध्यम से पेपैल एपीआई से कैसे कनेक्ट करें?

मेरे पास अब पेपैल (here) द्वारा प्रदत्त OAuth code grant flow का उपयोग कर एक कार्य सेटअप है, लेकिन ऊपर वर्णित अनुसार, मैं तस्वीर को सर्वर से बाहर करना चाहता हूं।

मेरे द्वारा अभी संदर्भित पृष्ठ में वर्णित कुछ विधियां हैं, लेकिन कोई भी निहित प्रतीत नहीं होता है कि एक निहित अनुदान संभव है।

क्या ओएथ अंतर्निहित अनुदान या कुछ समान के साथ पेपैल का उपयोग करना संभव है?

(वर्तमान उत्तर कोड अनुदान प्रवाह ले रहे हैं, जो विशेष रूप से मैंने नहीं पूछा था। मुझे पता है कि एक मौजूद है, लेकिन इस मामले में इसका उपयोग करना बुरा है, इसलिए अगर आप किसी विधि को जानते हैं तो कृपया केवल उत्तर दें ग्राहक के लिए OAuth गोपनीयता टोकन प्रदान करने के लिए आवश्यकता के बिना।)

+0

बेशक यह सादा जे एस के साथ posible है। किसी भी "सर्वर पक्ष" के बिना। क्या आपने यह जांच लिया है? https://developer.paypal.com/docs/integration/direct/make-your-first-call/#get-an-access-token क्या ऐसा कुछ है जिसे आप समझ में नहीं आ रहे हैं? – k1r0s

+0

उपयोगकर्ता से उपयोगकर्ता नाम और पासवर्ड पूछने के लिए मेरे जावास्क्रिप्ट ऐप की क्या आवश्यकता होगी। यह वास्तव में प्रवाह नहीं है जिसे मैं पालन करना चाहता हूं। उन्हें ओएथ एंडपॉइंट पर दर्ज करना चाहिए, न कि मेरे ऐप में। @ k1r0s – Jham

+0

हाँ, और फिर -> (पेपैल दस्तावेज़ों से चिपकाया गया) 'उपयोगकर्ता सहमति देने के बाद, पेपैल उपयोगकर्ता को यूआरएल में संलग्न प्राधिकरण कोड के साथ रिटर्न यूआरएल पर (HTTP 302) रीडायरेक्ट करता है। रीफ्रेश टोकन और प्रारंभिक पहुंच टोकन प्राप्त करने के लिए प्राधिकरण कोड का उपयोग करें। – k1r0s

उत्तर

0

अगर कोई नहीं समझती है क्या/कैसे Implicit grant

पाठ्यक्रम के

इस सादे जावास्क्रिप्ट साथ posible है, लेकिन सिफ़ारिश लायक नहीं है काम करता है।

https://developer.paypal.com/docs/integration/direct/make-your-first-call/#get-an-access-token

Also you will need to obtain user's consent.: Paypal प्रमाणन टोकन प्रदान करने के लिए एक अंत बिंदु है। अनुरोध करते समय आपको अपने वेबएप यूआरएल के साथ redirect_uri परम प्रदान करना चाहिए। आम तौर पर डेवलपर सर्वर स्क्रिप्ट पर लौटाए गए मूल्यों को संग्रहीत करते हैं जो पेपैल से उस प्रतिक्रिया को प्राप्त करते हैं। लेकिन यह जरूरी नहीं है कि आप जावास्क्रिप्ट ग्लोबल var location पढ़ सकें जिसमें सभी पैरा शामिल हैं।

Here is an overview of how the OAuth 2.0 auth flow works:

How PayPal uses OAuth 2.0

संपादित करें:

आदेश में इस आप निम्न चरणों क्या करना है प्राप्त करने के लिए:

चर:

  • APP_CLIENT_ID -> यदि आपके ऐप की client_id
  • APP_SECRET -> यदि आपके ऐप की गुप्त कोड
  • APP_RETURN_URL -> डिफ़ॉल्ट अपने अनुप्रयोग के अंतिम बिंदु BE चाहिए redirect_uri
  • OPEN_ID के बराबर है -> कोड लौटे जो विशिष्ट ग्राहक के लिए टोकन बनाने की अनुमति देता है, उपयोगकर्ता से जानकारी पुनर्प्राप्त करने के लिए

यह मानते हुए कि आपने डेवलपर में एक एपीपी बनाई है।उपयोगकर्ता को पेपैल लॉगिन फॉर्म पर रीडायरेक्ट करने के लिए यूआरएल बनाने के लिए "client_id" और "गुप्त" प्राप्त करने के लिए पेपैल साइट।

  1. करने के लिए अपने ग्राहक रीडायरेक्ट करें:

https://www.[sandbox.]paypal.com/signin/authorize?client_id=APP_CLIENT_ID&response_type=token&scope=openid&redirect_uri=APP_RETURN_URL

  1. ग्राहक अपने खाते में प्रवेश करें और एक openid है कि यह करने के लिए वापस भेज दिया जाएगा उत्पादन करेगा आपके http: 302 के माध्यम से ऐप redirect_uri पर रीडायरेक्ट करें जो आपका ऐप होना चाहिए।

APP_RETURN_URL? कोड = OPEN_ID & गुंजाइश = openid

  1. अपने अनुप्रयोग में वापस आप एक अनुरोध करने के लिए कि कोड का उपयोग एक टोकन बनाने के लिए कर सकते हैं .. और ऊपर है आप के लिए:

आप .. पता, फ़ोन के रूप में उपयोगकर्ता से प्रोफ़ाइल डेटा पुनः प्राप्त करने में सक्षम हो

अनुरोध: curl -v https://api.sandbox.paypal.com/v1/oauth2/token -H "स्वीकार करें: एप्लिकेशन/जेसन" -एच "स्वीकृति-भाषा: en_US" -H "प्रमाणीकरण: बेयरर OPEN_ID" -u "APP_CLIENT_ID: APP_SECRET" -d "grant_type = client_credentials"

प्रतिक्रिया: { "गुंजाइश": "https://uri.paypal.com/services/identity/proxyclienthttps://uri.paypal.com/services/subscriptionshttps://api.paypal.com/v1/payments/ * https://api.paypal.com/v1/vault/credit-cardhttps://uri.paypal.com/services/applications/webhooks openid https://uri.paypal.com/payments/payoutshttps://api.paypal.com/v1/vault/credit-card/ * https://uri.paypal.com/services/identity/grantdelegation।।" "अस्थायी रूप से": "2017-05-05T14: 33: 28Z488Zx8aUM1aSVo_wpq8IOecfccJMHptR1PVO2OpWcbA", "ACCESS_TOKEN": "A21AAHZCMP5vBuLMzz2m78DJGZhhpmu854amEVEO5WOavfk1GlNl_gmjSi01_69tJLRi5N_6pT-3GpRqZ81_pD1qKIAGANHMQ "," टोकन_ टाइप ":" बेयरर "," एप_आईडी ":" एपीपी -80W284485P519543T "," expires_in ": 32400}

  1. तो फिर तुम इस का पालन करने में समर्थ हैं: https://developer.paypal.com/docs/integration/direct/make-your-first-call/#make-an-api-call
+0

पहला प्रमाणीकरण OAuth नहीं है। इसके लिए ऐप को उपयोगकर्ता को उपयोगकर्ता नाम और पासवर्ड खुद से पूछने की आवश्यकता होती है, जिसे आप वास्तव में नहीं करना चाहते हैं। आपके उत्तर का दूसरा भाग कोड अनुदान प्रवाह है, जिसके लिए एक सर्वर की आवश्यकता होती है, जो कि मेरे प्रश्न में स्पष्ट रूप से नहीं था। दस्तावेज अन्य मामलों में सबसे अच्छा, सादा गलत पर संदिग्ध है। – Jham

+1

हालांकि आपके समय के लिए धन्यवाद। – Jham

+0

मुझे यह भी नहीं लगता कि आपको एक सर्वर की आवश्यकता है, rly: \ – k1r0s

संबंधित मुद्दे

 संबंधित मुद्दे