Laravel 8: Google 授权错误 400
Laravel 8: Google Authorization Error 400
我正在使用 Laravel 8 开发我的项目,我想使用 Google 身份验证系统让我的用户登录。
所以我通过 composer require laravel/socialite
命令下载了软件包,并在 .env
:
添加了我的信息
GOOGLE_CLIENT_ID=example
GOOGLE_SECRET_KEY=example
GOOGLE_CALLBACK_URL=http://localhost:8000/auth/google/callback
然后我在 config/services.php
上定义了它们:
'google' => [
'client_id' => env('GOOGLE_CLIENT_ID'),
'client_secret' => env('GOOGLE_SECRET_KEY'),
'redirect' => 'GOOGLE_CALLBACK_URL',
],
之后,我在我的 auth/
目录中创建了一个名为 GoogleAuthController
的控制器,如下所示:
use Laravel\Socialite\Facades\Socialite;
class GoogleAuthController extends Controller
{
public function redirect()
{
return Socialite::driver('google')->redirect();
}
}
终于在我登录时 blade:
<a href="{{ route('auth.google') }}" class="btn btn-danger">Login with Google</a>
但问题是,每当我测试它时,它都会说:
Error 400: invalid_request
Invalid parameter value for redirect_uri: Missing scheme: GOOGLE_CALLBACK_URL
那么为什么我会收到此错误消息?如何解决?
非常感谢你们的任何想法或建议...
提前致谢。
另外如果你想看看我的路线,这里是:
Route::get('/auth/google', [App\Http\Controllers\Auth\GoogleAuthController::class, 'redirect'])->name('auth.google');
您的配置有误:
'redirect' => 'GOOGLE_CALLBACK_URL',
应该是
'redirect' => env('GOOGLE_CALLBACK_URL'),
当然,这个重定向应该指向 Google,而不是您的本地主机。
我正在使用 Laravel 8 开发我的项目,我想使用 Google 身份验证系统让我的用户登录。
所以我通过 composer require laravel/socialite
命令下载了软件包,并在 .env
:
GOOGLE_CLIENT_ID=example
GOOGLE_SECRET_KEY=example
GOOGLE_CALLBACK_URL=http://localhost:8000/auth/google/callback
然后我在 config/services.php
上定义了它们:
'google' => [
'client_id' => env('GOOGLE_CLIENT_ID'),
'client_secret' => env('GOOGLE_SECRET_KEY'),
'redirect' => 'GOOGLE_CALLBACK_URL',
],
之后,我在我的 auth/
目录中创建了一个名为 GoogleAuthController
的控制器,如下所示:
use Laravel\Socialite\Facades\Socialite;
class GoogleAuthController extends Controller
{
public function redirect()
{
return Socialite::driver('google')->redirect();
}
}
终于在我登录时 blade:
<a href="{{ route('auth.google') }}" class="btn btn-danger">Login with Google</a>
但问题是,每当我测试它时,它都会说:
Error 400: invalid_request
Invalid parameter value for redirect_uri: Missing scheme: GOOGLE_CALLBACK_URL
那么为什么我会收到此错误消息?如何解决?
非常感谢你们的任何想法或建议...
提前致谢。
另外如果你想看看我的路线,这里是:
Route::get('/auth/google', [App\Http\Controllers\Auth\GoogleAuthController::class, 'redirect'])->name('auth.google');
您的配置有误:
'redirect' => 'GOOGLE_CALLBACK_URL',
应该是
'redirect' => env('GOOGLE_CALLBACK_URL'),
当然,这个重定向应该指向 Google,而不是您的本地主机。