Php 传递给(Symfony)Response::setContent()的参数的类型必须为string或null,即给定的对象

Php 传递给(Symfony)Response::setContent()的参数的类型必须为string或null,即给定的对象,php,laravel,Php,Laravel,我尝试通过Facebook注册,使用Laravel 7和package(社交名媛),按下URL: <div class="form-group row mb-0"> <div class="col-md-6 offset-md-4"> <a href="{{url('redirect/facebook')}}">login with your facebook accou

我尝试通过Facebook注册,使用Laravel 7和package(社交名媛),按下URL:

<div class="form-group row mb-0">
     <div class="col-md-6 offset-md-4">
          <a href="{{url('redirect/facebook')}}">login with your facebook account</a>
     </div>
</div>
我的路线:

Route::get('/redirect/{service}','SocialiteController@redirect');
Route::get('/callback/{service}','SocialiteController@callback');
控制器:

    <?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Laravel\Socialite\Facades\Socialite;

class SocialiteController extends Controller
{
    public function redirect($service){
        return Socialite::driver($service)->redirect();

    }
    public function callback($service){

         $user = Socialite::with($service) -> user();
         return $user;

    }

}
config/services.php:

 'facebook' => [
    'client_id' => env ('FB_CLIENT_ID'),
    'client_secret' => env ('FB_CLIENT_SECRET'),
    'redirect' => env ('FB_REDIRECT')
],
在config/app.php中,我添加了:

Laravel\Socialite\SocialiteServiceProvider::class,


我尝试了很多解决方案,但没有办法。我应该返回一个响应,而不是控制器中的$user对象

改变

public function callback($service){

     $user = Socialite::with($service) -> user();
     return $user;

}

尝试:


}

我的猜测是,控制器中的
回调
函数应该返回响应,而不是
$user
对象。您是否有完整的堆栈跟踪,即创建无效响应的位置?顺便说一下,您的帖子包含了您的facebook客户端id+机密。这些都是潜在的敏感信息,如果可能的话应该更改。非常感谢各位,我应该返回一个响应,而不是控制器中的$user对象
Laravel\Socialite\SocialiteServiceProvider::class,
'Socialite' => Laravel\Socialite\Facades\Socialite::class,
public function callback($service){

     $user = Socialite::with($service) -> user();
     return $user;

}
        public function callback($service){
           $user = Socialite::with($service)->stateless()->user();
           return response()->json($user);
    
        }
public function callback($service){

 $user = Socialite::with($service) -> user();
 return (array)$user;