我有一个多租户应用程序,我试图在其中添加Facebook链接,但我尝试使用laravel socialite进行该过程,但是我遇到一个问题,当我使用动态重定向url时,
return Socialite::driver('facebook')
->with([
'redirect_uri' => "https://" . $dynamichost . "/social/facebook/callback",
])
->redirect();
或这种方式
return Socialite::driver('facebook'fa)->redirectUrl('https://' . $dynamichost .
'/social/facebook/callback')->redirect();
facebook返回错误URL不匹配。注意我也为.env中的redirect_url设置了一个值 那我就有这样的服务价值
'facebook' => [
'client_id' => env('FACEBOOK_APP_ID'),
'client_secret' => env('FACEBOOK_APP_SECRET'),
'redirect' => env('CALLBACK_URL_FACEBOOK'),
'default_graph_ve`enter code here`rsion' => 'v3.3',
],
我的猜测是以某种方式设置重定向url等于来自.env的值,当我动态更改它时,它仍然认为url将类似于.env的值,并且我已经测试了这种情况,请求得到了如果保持重定向网址为静态,则成功响应。 任何建议,我怎么能克服这一点。谢谢。
答案 0 :(得分:0)
如果要使用自定义的redirect-uri dynamic:
use Socialite;
use Laravel\Socialite\Two\FacebookProvider;
$socialite = Socialite::buildProvider(
FacebookProvider::class, [
'client_id' => 'your_id',
'client_secret' => 'your_secret',
'redirect' => 'url',
'default_graph_version' => 'v3.3', //not sure if this needed as far as i know, in socialite the version is defined
]
)->redirect();
答案 1 :(得分:0)
好吧,这是一个愚蠢的错误,我必须在回调处理方法中匹配重定向URL。现在修复了。