首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Symfony 4 FOSUser -使谷歌/脸书的注册密码为空

Symfony 4 FOSUser -使谷歌/脸书的注册密码为空
EN

Stack Overflow用户
提问于 2019-03-14 02:24:35
回答 2查看 100关注 0票数 0

我有FOSUser工作,现在尝试添加谷歌/脸书注册,这意味着我仍然会使用常规的FOSUser设置注册用户。

我知道HWIOAuthBundle,但我不愿意再添加一个包。在我做了这么多重写之后,我已经对FOS包本身有了新的想法。

当使用来自Google的信息创建用户时,我当然会得到密码字段不能为空的错误。

这是在我的控制器中创建用户的函数:

代码语言:javascript
复制
private function registerUser($payload) {
    $user = $this->userManager->createUser();
    $user->setEmail($payload['email']);
    $user->setUsername($payload['given_name'] . '-' . mt_rand()); // temporary username
    $this->userManager->updateUser($user);
}

查看this SO question,我将密码字段添加到修改后的用户实体中,但是Doctrine:migration没有捕获到它:

代码语言:javascript
复制
/**
* @ORM\Entity
* @ORM\Table(name="`user`")
*/
class User extends BaseUser
{
 .....
/**
 * @ORM\Column(type="string", name="password", nullable=true)
*/
protected $password;

我可能走错了路,在这种情况下,我很感激任何指导。

EN

回答 2

Stack Overflow用户

发布于 2019-03-14 02:38:31

我有一个linkedin/Oauth的登录。我只是随机设置了一个密码。他们不能使用它登录,因为我甚至不知道它,但他们可以在确认电子邮件后重新设置它。

代码语言:javascript
复制
$user = new User();

$user->addRole($xyz->getRoleType());
$user->setUsername($xyz->getUsername());
$user->setEmail($xyz->getEmail());

// encode a random password, manually
$plainPassword   = base64_encode(random_bytes(16));
$encodedPassword = $this->get('security.password_encoder')
    ->encodePassword($user, $plainPassword);
$user->setPassword($encodedPassword);

$user->setEnabled(true);    // we have to enable the user to let them login again
$em->persist($user);
票数 0
EN

Stack Overflow用户

发布于 2020-09-07 08:11:18

这个问题有点晚了,但以防有人在寻找答案,可以通过done的AttributeOverrides来完成:

代码语言:javascript
复制
 * @ORM\Entity(repositoryClass=UserRepository::class)
 * @ORM\Table(name="difc_user")
 * @AttributeOverrides({
 *     @AttributeOverride(name="password",
 *         column=@ORM\Column(
 *             nullable=true
 *         )
 *     ),
 *  }
 * )
 * 
 * @UniqueEntity("email")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55148884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档