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

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

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

  • 访问令牌对各种 API 的实际适用性是什么?


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

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

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

  • 调用 URL:identity.x.com/xidentity/resources/authorize

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

  • 调用 URL:identity.x.com/idaas/resources/authorize

为清楚起见:

4

1 回答 1

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 Access 应用程序,以获取您在 PayPal Access 过程中需要的密钥和应用程序 ID。

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

  1. 您将用户重定向到您提到的授权 URL 以登录 PayPal(将适当的参数附加到 URL)。有关该过程,请参阅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. 获得访问令牌后,您可以使用作为 URL 参数提供的访问令牌向 PayPal 配置文件端点发出 HTTP GET 请求,以获取用户的配置文件 ( https://github.com/paypal/paypal-access/ blob/master/oauth2-php-ppaccess/complete.php第 13-19 行)。

综上所述,我实际上建议您使用 OpenID Connect 而不是 OAuth 2。OpenID Connect 具有允许用户注销的端点,它将是 PayPal Access 团队最支持的协议。以下是两个示例,将向您展示如何构建它们:

为什么在登录过程初始化(又名开始)时必须调用 2(两个)URL,这究竟是如何完成的? 关于这两者,请参见上文。

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

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

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

于 2012-11-19T07:13:38.130 回答