任何人都可以帮我用Laravel登录用户,这是我的尝试:
public function execute($hasCode){
if(!$hasCode) return $this -> getAuthorizationFrist();
$user = $this->socialite->driver('facebook')->user();
echo $user->getNickname();
echo $user->getName();
echo $user->getEmail();
echo $user->getAvatar();
$login = new Guard();
$login ->loginUsingId(1);
}
这是错误:
传递给Illuminate \ Auth \ Guard :: __ construct()的参数1必须是 Illuminate \ Contracts \ Auth \ UserProvider的实例,没有给出,调用 在第31行的/home/comment/public_html/bild/app/AuthenticateUser.php中 和定义
答案 0 :(得分:4)
您不能仅仅实例化Guard
,因为它具有在创建时需要注入的依赖项。这是构造函数:
public function __construct(UserProvider $provider,
SessionInterface $session,
Request $request = null)
您有几个选择:
Auth::loginUsingId(1);
$auth = app('auth');
$auth->loginUsingId(1);
在要使用它的类的构造函数中:
public function __construct(\Illuminate\Auth\Guard $guard){
$this->auth = $guard;
}
在你的方法中:
$this->auth->loginUsingId(1);
如果你正在
Trait'Illuminate \ Auth \ UserTrait'
这对我来说听起来很像Laravel 4(Laravel 5不再具备这种特性)你是否有可能正在迁移你的应用程序?看一下新的default User
model on github
答案 1 :(得分:0)