You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 5.5 Socialite报错求助:formatRedirectUrl参数类型错误

Fixing "Type error: Argument 1 passed to Laravel\Socialite\SocialiteManager::formatRedirectUrl() must be of the type array, null given" in Laravel 5.5

Hey there, this error almost always happens when Socialite can't pull a valid configuration array for the OAuth provider you're trying to use—usually because the redirect value in your setup is missing or resolving to null. Let's walk through the most common fixes step by step:

1. Double-check your config/services.php provider setup

Make sure the provider you're working with (GitHub, Google, etc.) has a complete configuration array with all required keys: client_id, client_secret, and redirect. Here's an example of a correct GitHub configuration:

'github' => [
    'client_id' => env('GITHUB_CLIENT_ID'),
    'client_secret' => env('GITHUB_CLIENT_SECRET'),
    'redirect' => env('GITHUB_REDIRECT_URI'), // This line is critical—don't skip it!
],

If the redirect key is missing entirely, or if the env variable it references isn't set, Socialite will receive null instead of a valid array, triggering the error you're seeing.

2. Verify your .env file has the correct redirect URL

Ensure the env variable linked to the redirect key in services.php is properly defined and points to the correct callback URL. For example:

GITHUB_CLIENT_ID=your-actual-client-id
GITHUB_CLIENT_SECRET=your-actual-client-secret
GITHUB_REDIRECT_URI=http://your-app-domain.com/auth/github/callback

Double-check that this URL matches the callback URL you registered with the OAuth provider (like in GitHub's OAuth settings) and that there are no typos in the variable name.

3. Clear your Laravel configuration cache

If you've recently updated your config files, Laravel might still be using cached old values. Run this command to force Laravel to load the latest configuration:

php artisan config:clear

This is a common gotcha—even if you fix your services.php file, cached configs can keep the old, broken setup active.

4. Validate your Socialite driver call

Make sure you're calling the exact driver name that matches the key in services.php. For example, if your config uses 'github', your code should look like this:

return Socialite::driver('github')->redirect();

A typo here (like 'gitHub' or 'gitlab' when you meant GitHub) will make Socialite look for a non-existent configuration, resulting in null.

Quick Debugging Trick

Add this line to your controller right before the Socialite redirect call to inspect the configuration directly:

dd(config('services.github')); // Replace 'github' with your provider name

If the output is null or missing the redirect key, you'll know exactly where to focus your fixes.

内容的提问来源于stack exchange,提问作者Benjamin Mwendwa Munyoki

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:47:42