Здравствуйте,
Я использую
Laravel Socialite Providers
для того, чтобы авторизовываться с помощью
Вконтакте
.
Laravel Socialite Providers
После того, как я логинюсь, то могу получить все данные о пользователе, а также
access_token
, но если я перезагружу страницу, то я получу ошибку:
Client error: `POST https://oauth.vk.com/access_token` resulted in a `401 Unauthorized` response: {"error":"invalid_grant","error_description":"Code is invalid or expired."}
У меня есть 3 идеи как это исправить:
- Sessions
- Cookies
- Local Storage
Я
пытался их использовать, но пока что все безуспешно.
Код, если нужен:
1. routes/api.php
Route::get('intermediate-path', function(){
$user = Socialite::driver('vkontakte')->user();
$user_check = User::where('vk_id', '=', $user->id)->first();
if ($user_check === null) {
DB::insert('insert into users (vk_id, name, email) values (?, ?, ?)', [
$user->id, $user->name, $user->email
]);
echo "created";
} else {
echo "logged in";
}
});
2. Config/Services.php
'vkontakte' => [
clientId = env('VKONTAKTE_KEY');
clientSecret = env('VKONTAKTE_SECRET');
redirectUrl = 'http://localhost:8000/api/auth/intermediate-path';
],
3. vendor/socialiteproviders/vkontakte/Provider.php
https://github.com/SocialiteProviders/VKontakte/bl...