Symfony自定义用户提供者

时间:2018-09-18 14:19:53

标签: php symfony authentication

我正在阅读Symfony通过自定义用户提供者管理用户的方式:https://symfony.com/doc/current/security/custom_provider.html

  

当用户提交用户名和密码时,身份验证层会要求配置的用户提供程序返回给定用户名的用户对象。然后,Symfony检查该用户的密码是否正确并生成安全令牌

当我们使用本地用户名/密码连接到数据库时,这非常有用,但是我想针对另一项服务进行身份验证。基本上,我想将Symfony用作消耗用户登录服务的客户端。除了我无法在此处访问密码外,这就是我的处理方式。

public function loadUserByUsername($username)
{
    $client = new Client(['base_uri' => $uri]);
    $user_response = $client->get('api/v1/getTokens/', ['auth' => [$username, <passord>]);
    // $user_response 
}

这与Symfony的预期有很大不同,Symfony的预期是接收用户对象,然后在用户/密码匹配时发出自己的令牌。

我应该放弃自己系统的整个Custom Provider接口吗?

1 个答案:

答案 0 :(得分:0)

您需要AuthenticationProvider与您编写的UserProvider一起使用。

还请检查守卫Authentication