【问题标题】:Prestashop 1.7 Webservice Authetication ErrorPrestashop 1.7 Web 服务身份验证错误
【发布时间】:2017-06-15 16:57:51
【问题描述】:

在 Prestashop 1.7 中,我尝试使用 prestapyt 与 Web 服务进行交互。

from prestapyt import PrestaShopWebServiceDict 
prestashop = PrestaShopWebServiceDict('http:\\hostname.ext\api', 'APIKEY')
ps = prestashop.search('addresses')

我收到此错误

prestapyt.prestapyt.PrestaShopAuthenticationError: 'Unauthorized'

为了了解是否是库的错误,我尝试通过浏览器连接 API。

在 http:\hostname.ext\api 连接我收到一个登录请求。

插入提交 APIKEY 的用户名并将密码字段留空as indicated here 我再次收到未经授权的错误。

身份验证只能将 APIKEY 设置为查询字符串

http:\\hostname.ext\api?&ws_key=APIKEY

但是这种方法在用户会话认证的 prestapyt 中不可用。

我错过了 Prestashop 上的某些设置或了解此问题的方法?

谢谢

【问题讨论】:

    标签: web-services prestashop prestashop-1.7


    【解决方案1】:

    发现问题,就这样解决了。

    问题与 Prestashop 或 prestapyt 无关,而是与服务器配置(Apache + PHP)有关。

    考虑到我在托管云服务中工作,对此我没有深入的信息。

    但是这样配置的结果是Authorization头没有出现在$_SERVER变量中。此处报告了相同的行为:

    Why are $_SERVER[“PHP_AUTH_USER”] and $_SERVER[“PHP_AUTH_PW”] not set?

    我解决了在我的 Prestashop 安装中将此语句添加到 .htaccess 文件的问题:

    SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
    

    按照here的建议。

    我希望能帮助遇到同样问题的其他 Prestashop 用户。

    【讨论】:

    • 解决了我的问题。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-01
    • 2012-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-10
    • 2023-04-01
    相关资源
    最近更新 更多