繁体   English   中英

Symfony定制用户提供者

[英]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的预期有很大不同,Symfony的预期是接收用户对象,然后在用户/密码匹配时发出自己的令牌。

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

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

另请检查Guard 身份验证

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM