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

Socialite Auth: How do I include more than one redirect uri for each service?

或者我如何动态设置重定向 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

我试过使用无效的数组

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

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

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

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

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

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

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