我正在阅读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接口吗?