我使用Facebook作为Auth Provider,并使用Guzzle作为我的$client
来处理所有的调用和重定向。
当我使用它时:
<?php
class Facebook extends AuthProvider implements AuthProviderInterface {
public function authorise()
{
$url = 'https://www.facebook.com/dialog/oauth?' . http_build_query([
'client_id' => $this->clientId,
'redirect_uri' => $this->redirectURL,
'scope' => 'public_profile,email'
]);
return $this->client->get($url);
}
}
我被重定向到Facebook登录页面,在HTML启动之前输出了一堆标题。如果我重定向到Google或其他任何地方,也会发生同样的情况。两人都谈到了P3P?
但是,如果我将return $this->client->get($url);
更改为return \Redirect::to($url);
(使用Illuminate / Redirect lib),它可以正常工作并转到&#34; {App}想要访问以下内容...& #34;页。
如果可能的话,我想专门使用Guzzle,而不是利用2个库,因为我非常确定Illuminate / Redirect无论如何都会以某种方式使用Guzzle。
我认为问题与发送的标头有关(或者没有发送),但Facebook docs没有任何相关信息。
有人可以帮忙吗?提前谢谢。
答案 0 :(得分:1)
万一有人偶然发现这件事,我发现这是不可能的。 Guzzle正在服务器级别进行重定向,而不是浏览器级别,因此需要使用重定向器类来执行此操作。