在laravel配置文件中使用命名路由

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'
    ]
]