我在我的应用程序中实现了FOSOAuthServerBundle,以便为移动应用程序提供API。它似乎有效,用户获取Token
以及RefreshToken
但如果我使控制器需要始终返回null
的用户对象。也无法控制权限,该权限仅为IS_AUTHENTICATED_ANONIMOUSLY
。
示例:
public function showUserAction(){
$user = $this->getUser()
//$user = null
$auth = $this->get('security.context')->isGranted('IS_AUTHENTICATED_FULLY')
//$auth = false
}
如何使用此类身份验证在控制器中获取用户对象?
答案 0 :(得分:1)
根据您的评论,您创建了具有不同grant_types的客户端。
注意:如果在身份验证期间使用 grant_type = client_credentials ,则没有用户可用,因为您没有指定用于生成令牌的确切用户/密码。如果是 grant_type =密码,则会传递用户名&在这种情况下,密码和令牌链接到用户。希望这是有道理的。
答案 1 :(得分:1)
试试这个:
$user = $this->get('security.token_storage')->getToken()->getUser();