Laravel将发布请求发送到另一个子域

时间:2017-06-07 06:58:43

标签: php laravel laravel-5 guzzle

我有一个Laravel应用程序,我在其中设置了主应用程序,并且我有一个子域来处理与主应用程序相关的特定任务。

让我们说主应用是: app.xyz.com 和子域名为: review.xyz.com

问题是,如何将来自 review.xyz.com 的控制器的帖子请求发送到 app.xyz.com 中的路线?

这是我尝试使用Guzzle的方法,它只是默默地失败了(响应只是主应用程序的登录屏幕。日志中没有发生任何事情):

Route::post('approve', function(){
    $client = new Client(['base_uri' => env("MAIN_APP_URL")]);

    $response = $client->request('POST', 'public/approve');
    $body = $response->getBody();

    return $body;
});

在这种情况下,CSRF保护如何运作?

1 个答案:

答案 0 :(得分:0)

通常,如果调用另一个json api,则不会使用csrf。相反,我们使用api令牌,例如 jwt 和laravel api_token 。因此,在您的guzzle中,您将添加标题以进行授权。

$client->request('GET', 'example.com/get', [
    'headers' => [
        'Authorization' => 'Bearer your-long-api-token',
        'Accept'     => 'application/json'
    ]
]);