PayPal oAuth2.0

时间:2012-11-16 14:57:03

标签: paypal oauth-2.0

  • 如何使用PayPal提出的oAuth2.0方法检索访问令牌?

  • 为什么在登录过程初始化(又称启动)时必须调用2(2)个URL,这是如何完成的?

  • 还有沙盒的问题:假设有一个访问令牌,这个令牌可以用于沙箱和实时环境吗?

  • Access Token对各种API的实际适用性是什么?


我用作参考: https://www.x.com/developers/paypal/documentation-tools/quick-start-guides/oauth-integration-paypal-access-getting-full

我遇到了以下两个我无法理解的陈述:

1)“当用户点击该按钮时,通过调用以下URL启动登录过程(为便于阅读而包装):”

  • 被叫网址:identity.x.com/xidentity/resources/authorize

2)及以下: “例如,调用登录功能的URL可能类似于以下内容(为了便于阅读而包装):”

  • 被叫网址:identity.x.com/idaas/resources/authorize

为清晰起见:

1 个答案:

答案 0 :(得分:0)

让我看看能否回答你的问题。首先,当您在文本和示例中提到两个URL时: identity.x.com/xidentity/resources/authorize& identity.x.com/idaas/resources/authorize 我想要说明示例中的第二个URL(identity.x.com/idaas/resources/authorize)是一个拼写错误,我将提交技术作者的请求以对文档进行调整(我为此道歉)混乱)。话虽如此,让我进入你的具体问题。

如何使用PayPal提出的oAuth2.0方法检索访问令牌?

首先,转到https://devportal.x.com/并注册PayPal访问应用程序,以获取您在PayPal访问过程中需要的密钥和应用程序ID。

OAuth 2流程基本上有三个步骤:

  1. 您将用户重定向到您提到的授权网址,以便登录PayPal(附加到网址的相应参数)。有关该流程,请参阅https://github.com/paypal/paypal-access/blob/master/oauth2-php-ppaccess/index.php
  2. 当用户登录时,会将其重定向到您在步骤1中提供的redirect_url。在重定向后的URL中,URL查询字符串上将提供代码参数。拿起并向PayPal发送HTTP POST请求以交换访问令牌的代码(参见https://github.com/paypal/paypal-access/blob/master/oauth2-php-ppaccess/complete.php第4-11行)
  3. 获得访问令牌后,您可以向PayPal配置文件端点发出HTTP GET请求,并将访问令牌作为URL参数提供,以获取用户的配置文件(https://github.com/paypal/paypal-access/blob/master/oauth2-php-ppaccess/complete.php行13-19)。
  4. 尽管如此,我实际上建议您使用OpenID Connect而不是OAuth 2. OpenID Connect具有允许用户注销的端点,它将是PayPal Access团队最支持的协议。以下两个示例将向您展示如何构建它们:

    为什么在登录过程初始化(又称已启动)时必须调用2(2)个URL?这是如何完成的? 关于这两个,见上文。

    还存在沙盒的问题:假设一个人拥有访问令牌,这个令牌可以用于沙箱和实时环境吗? 是的,相同的标记可以用于沙箱和生产。我应该在此注意,目前您无法使用任何沙盒登录(测试用户)登录PayPal Access。该功能很快就会推出,因此目前您可以使用真实的PayPal帐户进行访问。

    访问令牌对各种API的实际适用性是什么? 将访问令牌视为API的框架密钥。它的代码基本上告诉API,提供其信息的用户已授予应用程序许可权,并且应用程序本身是有效的。

    我希望一切都有帮助, 乔恩