Im trying to use a named route in laravel service.php config file but it error that the Route is not defined even it is.
routes/web.php:
Route::get('social/{provider}/callback', 'Auth\SocialAuthController@handleProviderCallback')
->name('social.callback');
service.php:
'facebook' => [
'client_id' => 'XXXXXXXXXXXXXXXX',
'client_secret' => 'YYYYYYYYYYYYYYYYYYYYYYYYYYYYYY',
'redirect' => route('social.callback', 'facebook'),
],
You should try this:
Your config file
return [
'url' => 'admin.index',
]
Your blade file
<a href="{!! route(config('yourConfig.url')) !!}">Admin</a>
Updated answer:
OR you should set your parameters in .env file and put .env file variable in config file and access it like:
FACEBOOK_CLIENT_ID=XXXXXXXXXXXXXXXX
FACEBOOK_CLIENT_SECRET=YYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
CALLBACK_URL=http://www.your_url.com/social/handle/facebook
We can't use laravel functions in config files as they are loaded before Laravel libraries
Just save route and parameter as a String
'facebook' => [
'client_id' => 'XXXXXXXXXXXXXXXX',
'client_secret' => 'YYYYYYYYYYYYYYYYYYYYYYYYYYYYYY',
'redirect' => [
'url' => 'social.callback',
'parameter' => 'facebook'
]
]