Socialite Auth:我如何为每项服务包含多个重定向uri?

时间:2015-09-25 01:25:06

标签: php laravel laravel-5 laravel-socialite

或者我如何动态设置重定向uri?我经常不得不解决合并冲突,因为我的本地和生产服务器使用不同的重定向。或者我应该将services.php添加到gitignore?

我的service.php

'google' =>[
    'client_id'=> env('GOOGLE_CLIENT_ID'),
    'client_secret' => env('GOOGLE_CLIENT_SECRET'),
    'redirect' =>'http://localhost:3000/login/google/callback', 
],

我希望包含一个用于生产的uri,如

http://example.com/login/google/callback

我尝试过使用无效的数组

3 个答案:

答案 0 :(得分:2)

您可以使用url()动态设置此项。这样它就可以适当地更新任何环境。

在你的情况下,它看起来像这样:

'google' =>[
    'client_id'=> env('GOOGLE_CLIENT_ID'),
    'client_secret' => env('GOOGLE_CLIENT_SECRET'),
    'redirect' => url('login/google/callback'), 
],

答案 1 :(得分:1)

您不应在配置文件中使用url()。它与PHP工匠冲突。 只需将所有回调URL添加到Google Developers Console

http://localhost:3000/login/google/callback
http://example.com/login/google/callback

答案 2 :(得分:1)

您可以设置相对路径而不是 url() 函数。 Socialite 会在请求时自动添加完整的 url。检查下面的注释

https://laravel.com/docs/8.x/socialite 如果重定向选项包含相对路径,它将自动解析为完全限定的 URL。