Авторизация Socialite в Laravel через аккаунт Vk
Установил laravel/socialite и socialiteproviders/vkontakte
При вызове первого маршрута api/vk/auth выдает ошибку: "There is no services entry for vkontakte".
В строке 122 в vendor/socialiteproviders/manager/src/Helpers/ConfigRetriever.php, вот это место
if (empty($configArray)) {
// If we are running in console we should spoof values to make Socialite happy...
if (app()->runningInConsole()) {
$configArray = [
'client_id' => "{$this->providerIdentifier}_KEY",
'client_secret' => "{$this->providerIdentifier}_SECRET",
'redirect' => "{$this->providerIdentifier}_REDIRECT_URI",
];
} else {
throw new MissingConfigException("There is no services entry for $providerName");
}
}
Ответы (1 шт):
Автор решения: Color kat
→ Ссылка
Добавьте в файл config/services.php
'vkontakte' => [
'client_id' => env('VKONTAKTE_CLIENT_ID'),
'client_secret' => env('VKONTAKTE_CLIENT_SECRET'),
'redirect' => env('VKONTAKTE_REDIRECT_URI')
],
Измените свойство listen чтобы слушать события SocialiteWasCalled.
И добавьте событие в ваш массив listen[] в файле app/Providers/EventServiceProvider.
protected $listen = [
\SocialiteProviders\Manager\SocialiteWasCalled::class => [
// ... Другие провайдеры
\SocialiteProviders\VKontakte\VKontakteExtendSocialite::class.'@handle',
],
];