繁体   English   中英

FOSOAuthServerBundle - 如何在控制器中获取用户

[英]FOSOAuthServerBundle - How to get User in a controller

我在我的应用程序中实现了FOSOAuthServerBundle,以便为移动应用程序提供API。 它似乎工作,用户获取TokenRefreshToken但如果我使控制器需要始终返回null的用户对象。 也无法控制权限,该权限仅为IS_AUTHENTICATED_ANONIMOUSLY

例:

public function showUserAction(){
   $user = $this->getUser()
   //$user = null

   $auth = $this->get('security.context')->isGranted('IS_AUTHENTICATED_FULLY')
   //$auth = false
}

如何使用此类身份验证在控制器中获取用户对象?

根据您的评论,您创建了具有不同grant_types的客户端。

注意:如果在身份验证期间使用grant_type = client_credentials ,则没有用户可用,因为您未指定用于生成令牌的确切用户/密码。 grant_type = password的情况下,您传递用户名和密码,在这种情况下,令牌链接到用户。 希望这是有道理的。

尝试这个:

$user = $this->get('security.token_storage')->getToken()->getUser();

暂无
暂无

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

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