有没有一种简单的方法可以在 Symfony 上使用 FOSOAuthServerBundle 在控制器上获取当前客户端?
我的客户端实体上有一些属性,想在控制器中读取它们,但我找不到获取当前客户端的方法。
我只找到了获取当前用户($this->container->get('security.context')->getToken()->getUser();
)的方法,但没有找到当前客户端。
编辑:我现在找到了获取客户端的方法,但它没有显示我添加到客户端实体的属性的值。以下代码:
$token = $this->container->get('security.context')->getToken()->getToken();
$accessToken = $this->container->get('fos_oauth_server.access_token_manager.default')->findTokenBy(array('token' => $token));
$client = $accessToken->getClient();
\Doctrine\Common\Util\Debug::dump($client);
正在倾销:
object(stdClass)[1180]
public '__CLASS__' => string 'CC\APIBundle\Entity\Client' (length=26)
public '__IS_PROXY__' => boolean true
public '__PROXY_INITIALIZED__' => boolean false
public 'id' => int 6
public 'name' => null
public 'city' => null
public 'randomId' => null
public 'secret' => null
public 'redirectUris' =>
array (size=0)
empty
public 'allowedGrantTypes' => null
因此,我的客户在 db 上的名称和城市没有显示......而且我认为有很多对 db 的调用可以以一种非常优雅的方式避免......
有任何想法吗?