我的请求通过 aApiUserAuthenticator extends AbstractGuardAuthenticator
来验证对 API 的请求。在 getUser() 方法中,我返回一个 ApiUser。
public function getUser($credentials, UserProviderInterface $userProvider)
{
return new ApiUser('jean', ['ROLE_API_USER'], 'jean@bonnaud.fr');
}
它运行良好,因为用户在我的控制器中出现得更远一些。
/**
* @Route("/", name="API_INDEX")
*/
public function index()
{
dump($this->getUser());
return $this->json([
'status' => true,
]);
}
但是一个小细节是错误的,用户名不见了!它返回空值。
当然,在简单的 ApiUser 中,构造函数和 getter 都可以。
当您寄回一个Security\Core\User
物体时,这种奇怪的现象就会消失!有趣不是吗?
public function getUser($credentials, UserProviderInterface $userProvider)
{
return new \Symfony\Component\Security\Core\User\User('nicolas','0000',['ROLE_API_USER']);
}