首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Guzzle无法使用shopware5进行身份验证

Guzzle无法使用shopware5进行身份验证
EN

Stack Overflow用户
提问于 2021-02-24 01:40:40
回答 1查看 77关注 0票数 2

我正在尝试移植以下有效的HTTP_查询shopware5应用程序接口到Guize7的Request2代码

代码语言:javascript
复制
$request = new \HTTP_Request2();
$request->setBody('{"limit": 500000}');
$request->setUrl($URL.'/customers');

$request->setMethod(\HTTP_Request2::METHOD_GET);
$request->setHeader('Accept-Encoding','gzip, deflate, br');
$request->setAuth($username, $apiKey, \HTTP_Request2::AUTH_DIGEST);
$response = $request->send();

我尝试了以下方法,但失败了,并显示消息"Invalid or missing auth“

代码语言:javascript
复制
$RESTClient = new Client();
        $request = new Guzzle_request(
            'GET',
            $URL  .'/customers',
            [
                'body' => '{"limit": 500000}',
                'decode_content' => 'gzip, deflate, br',
                'auth' => [$username, $apiKey, 'digest']
            ]);
 $response = $RESTClient->send($request);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-25 14:44:32

你需要修改你的代码

代码语言:javascript
复制
use GuzzleHttp\Psr7\Request;

$client = new GuzzleHttp\Client();
$headers = ['Accept-Encoding' => 'gzip, deflate, br'];
$body = '{"limit": 500000}';
$request = new Request('GET', $URL . '/customers', $headers, $body);
$response = $client->send($request, [
                                  'verify' => false,
                                  'auth' => [$username, $apiKey, 'digest']  
                              ]);

因为摘要有md5,所以verify As false并不会使它不安全,但我在任何地方都没有找到写出原因的地方,但我看到Digest只与verify as false一起工作。

你也可以继续使用decode_content虽然默认情况下为true,但是没有问题,所以如果我传递了头,那么我猜就没有问题了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66338290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档