Symfony3:创建没有密码字段的用户,并以编程方式进行身份验证

时间:2016-02-09 16:13:32

标签: php authentication symfony

我尝试创建应用,用户可以通过多种社交服务登录,有些OAuth有些是OpenID,而我的用户实体不需要有用户名字段或密码,但UserInterface要求我实施用户名和密码(和盐)的getters。

我做的是在getUsername中返回用户ID,在getPassword和getSalt中返回null。

我的安全性配置为使用form_login,但我只提供/ login路由,因此未经身份验证的用户将被重定向到一个页面,在那里他们可以找到各种登录选项。

我没有为check_login提供路线。

我将使用代码以编程方式验证用户身份:

$token = new UsernamePasswordToken($user, null, "main", $user->getRoles());
$this->get("security.token_storage")->setToken($token);

我的问题是,返回null密码是否安全,并且没有设置check_login?我的目标是不让用户使用表单登录。所以他们不会使用空密码登录。我已经检查了到目前为止所做的所有工作,但我想确保它不会让用户使用空密码登录其他用户。

0 个答案:

没有答案