Laravel Socialite Dynamic redirectUrl在多租户应用程序中不起作用

时间:2020-09-11 15:07:33

标签: laravel

我有一个多租户应用程序,我试图在其中添加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的值,并且我已经测试了这种情况,请求得到了如果保持重定向网址为静态,则成功响应。 任何建议,我怎么能克服这一点。谢谢。

2 个答案:

答案 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。现在修复了。

相关问题