Symfony Custom User Provider



我正在阅读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所期望的有很大不同,后者接收用户对象,然后在用户/密码匹配时发出自己的令牌。

我是否应该放弃我自己的系统的整个自定义提供程序界面?

您需要一个 AuthenticationProvider 才能与您编写的用户提供程序一起使用。

另请检查保护身份验证

最新更新