【问题标题】:PHP Oauth gets 401 on PHP 7.3, ok on PHP 7.2 and earlierPHP Oauth 在 PHP 7.3 上获得 401,在 PHP 7.2 及更早版本上正常
【发布时间】:2020-03-12 09:40:29
【问题描述】:

我正在尝试使用 PHP 的 Oauth module 与 Etsy 的 API 进行交互。

关注Etsy's docs,我有

<?php

if (!extension_loaded('oauth')) {
   throw new Exception('Oauth not loaded.');
}

$oauth = new OAuth("foobar-key", "foobar-secret");
$req_token = $oauth->getRequestToken(
    "https://openapi.etsy.com/v2/oauth/request_token?scope=email_r%20listings_r",
    "oob",
    "GET"
);

使用 php7.2 运行时效果很好:

php7.2 etsy-oauth.php
...
OK

但是,当使用 php7.3 运行相同的程序时,我得到一个 401:

php7.3 etsy-oauth.php
...
PHP Fatal error:  Uncaught OAuthException: Invalid auth/bad request (got a 401, expected HTTP/1.1 20X or a redirect)
oauth_problem=signature_invalid

OAuth 肯定是为 PHP 7.2 和 PHP 7.3 安装的,正如上面的 extension_loaded 所证实的那样,并且:

php7.2 -m | grep OAuth
OAuth
php7.3 -m | grep OAuth
OAuth

在 PHP 7.3 和 PHP 7.2 中应该如何进行相同的调用,我无法找到任何记录在案的差异。

在 PHP 7.3 中应该如何正确调用 Oauth?

【问题讨论】:

  • 可能是您在 7.3 中缺少 PECL 扩展安装
  • @Prifulnath 它肯定已安装。我在/etc/php/7.3/cli/conf.d/20-oauth.ini 看到它,extension_loaded('oauth') 在 php7.3 中是真的。
  • 能否请您检查php -m是否显示oAuth
  • @Prifulnath 我更新了问题,确认为 php7.2 和 php7.3 都安装了 OAuth。

标签: php oauth php-7.2 php-7.3


【解决方案1】:

我在 php7.3 中遇到了同样的问题。尝试安装 OAuth 2.0.5。它对我有用

【讨论】:

    猜你喜欢
    • 2020-04-01
    • 2021-03-05
    • 1970-01-01
    • 2019-12-14
    • 2015-08-07
    • 2017-06-11
    • 1970-01-01
    • 2021-07-03
    • 2021-10-05
    相关资源
    最近更新 更多