После того, как я нажимаю кнопку "Войти" на сайте, меня перебрасывает на главную страницу сайта, вместо на дальнейшую авторизацию через ВК.
Кож кнопки:
<a v-if="$root.user === null" href="/auth/vkontakte" class="autorization-vk"><i class="fab fa-vk"></i></a>
Код роутов:
Route::group(['prefix' => '/auth'], function () {
Route::post('/{provider}', 'LoginController@login');
Route::get('/{provider}/callback', 'LoginController@callback');
});
Код авторизации рабочий, используется Socialite, взял с другой работы.
<?php
namespace App\Http\Controllers;
use Auth;
use App\User;
use Socialite;
use Illuminate\Http\Request;
class LoginController extends Controller
{
public function login($provider)
{
return Socialite::driver($provider)->redirect();
}
public function callback($provider)
{
$user = json_decode(json_encode(Socialite::driver($provider)->user()));
if (isset($user->returnUrl)) return redirect('/');
$user = $user->user;
$user = $this->createOrGetUser($user, $provider);
Auth::login($user, true);
return redirect()->intended('/');
}
public function createOrGetUser($user, $provider)
{
$existUser = User::where('network_id', $user->id)->first();
if ($provider == 'vkontakte') {
if ($existUser) {
$username = $user->first_name . ' ' . $user->last_name;
User::where('network_id', $user->id)->update([
'name' => $username,
'avatar' => $user->photo_200
]);
$user = $existUser;
} else {
$username = $user->first_name .' ' .$user->last_name;
$user = User::create([
'network' => 'vkontakte',
'network_id' => $user->id,
'name' => $username,
'avatar' => $user->photo_200,
'ref_code' => $this->randw(5)
]);
}
}
return $user;
}
}
Впервые сталкиваюсь с такой проблемой. Буду очень благодарен за помощь!