laravel passport创建令牌不能从我的本地laravel虚拟主机工作

时间:2017-10-02 20:14:43

标签: php laravel guzzle laravel-passport

我在Windows 10 X64和laravel 5.5中使用wamp 3.0.6和php 7。 我的系统中有两个虚拟主机:

virtual-host1.local>>>的public_html \ SITE1

virtual-host2.local>>>的public_html \站点2

我在virtual-host1.local中安装了laravel passport并进行配置。

当我试图用邮递员制作令牌时,它正常工作。 所以,当我从virtual-host1.local

尝试使用GuzzleHttp时,它工作正常

但现在我想通过curl或GuzzleHttp从virtual-host2.local获取访问令牌。但我总是得到以下信息:

{"error":"invalid_client","message":"Client authentication failed"}

我跟踪了请求。当 virtual-host2 请求到达Laravel \ Passport \ ClientRepository并调用find函数(第13行)时,eloquent不会返回任何结果(总是返回null! )。而变量$id已设置! 但是当我使用邮递员或从virtual-host1.local调用它时,回复结果很有说服力 什么问题?

它在virtual-host1.local中工作:

$http = new GuzzleHttp;
$response = $http->POST('http://api.payment-mediator.com/oauth/token', [
        'form_params' => [
            'grant_type'    => 'password',
            'client_id'     => '5',
            'client_secret' => 'edHmPJF1aiQ8IU2qCCbLo6uIGx19cXYa7Cli5ZZA',
            'username'      => 'beshkanweb@gmail.com',
            'password'      => 'beshkan'
        ]
    ]);

但如果我从virtual-host2.local运行此代码,则会收到错误:

{"error":"invalid_client","message":"Client authentication failed"}

它的工作独立于laravel:

curl_setopt_array($curl, array(
        CURLOPT_RETURNTRANSFER => 1,
        CURLOPT_URL => 'http://api.virtual-host1.local/oauth/token',
        CURLOPT_USERAGENT => 'Codular Sample cURL Request',
        CURLOPT_POST => 1,
        CURLOPT_POSTFIELDS => array(
            'grant_type'    => 'password',
            'client_id'     => '5',
            'client_secret' => '*secretKey*',
            'username'      => '*username*',
            'password'      => '*password*',
        )
    ));

但不是Laravel的工作!

0 个答案:

没有答案