Laravel Socialite:如何在运行时更改redirect_uri?

Jay*_*Jay 6 laravel-5 laravel-socialite

是否可以在运行时更改 config/services.php 中设置的redirect_uri 值?

我尝试这样做:

返回 $socialite->driver('facebook')->redirectUrl(newUrl)->redirect();

但它会抛出一个错误,指出redirect_uri 应与 OAuth 对话框中的一致。进一步检查错误消息后,redirect_uri 的值为空,因此显然,redirectUrl() 方法不起作用。

附:

这是我使用的在composer.json 中定义的社交名流版本:

“laravel/社交名流”:“^2.0”

小智 5

解决这个问题的方法是:

public function redirectToProvider($accountType, $provider)
{
    return Socialite::driver($provider)
        ->with(['redirect_uri' => "YOUR_NEW_URL"])
        ->stateless()
        ->redirect();
}
Run Code Online (Sandbox Code Playgroud)

使用此方法,您可以覆盖 http 请求中的任何值(包括范围)。