我是新的PHP
编码器。
我使用Facebook登录名作为第三方。
我可以成功地从Facebook API
获取一些用户数据,但是在创建数据库的新用户时遇到了一些错误。
密码剂量有一个默认值
应该在密码字段中插入什么数据?
facebookcallback函数
public function handleFacebookCallback()
{
try {
$user = Socialite::driver('facebook')->user();
$create['name'] = $user->getName();
$create['email'] = $user->getEmail();
$create['facebook_id'] = $user->getId();
$creaet['memberId'] = $user->getId();
$userModel = new User;
$createdUser = $userModel->addNew($create);
Auth::loginUsingId($createdUser->id);
return redirect()->route('/loginsucces');
} catch (Exception $e) {
return redirect('/');
}
}
我在Internet上找到了一些信息,我知道我在Facebook回调中获得了accessToken。然后我使用此令牌
Socialite :: driver('facebook')-> user();
要求Facebook获取一些用户信息。 然后,使用fb的Web登录过程检查数据库是否具有用户数据。
如果否,则创建新的用户数据。 但是,该错误发生在创建中。
OMG !!!!我没有在密码字段中插入任何数据。
我在互联网上找不到任何答案。
有没有人可以帮助我解决这个问题?
答案 0 :(得分:1)
在用户数据库迁移文件中,使密码字段为空。像这样
$table->string('password')->nullable();
这将不再显示密码错误,因为我们在创建具有nullable的用户时将其设为可选。
希望这对您有所帮助。
答案 1 :(得分:1)
当您从Facebook创建新用户时,尝试通过插入密码。并确保您的数据库列密码允许使用空值,以便新用户创建时没有密码