0

我在我的应用程序中实现了 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
}

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

4

2 回答 2

1

根据您的评论,您创建了具有不同授权类型的客户端。

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

于 2013-11-23T21:29:22.180 回答
1

尝试这个:

$user = $this->get('security.token_storage')->getToken()->getUser();
于 2017-01-20T07:53:46.880 回答