[英]Symfony2 FOSOAuthServerBundle grant type password requires client secret
[英]Symfony2 - Using yml for FOSOAuthServerBundle
我正在尝试使用symfony2中的FOSOAuthServer包创建一个Web服务。
我正在使用yml配置; 所以我像这样为AcccessToken创建实体:
阳明:
My\ApiBundle\Entity\AccessToken:
type: entity
table: access_token
id:
id:
type: integer
generator:
strategy: AUTO
manyToOne:
client:
targetEntity: Client
inversedBy: access_tokens
joinColumn:
name: client_id
referencedColumnName: id
nullable: false
user:
targetEntity: User
inversedBy: access_tokens
joinColumn:
name: user_id
referencedColumnName: id
实体:
<?php
namespace My\ApiBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use FOS\OAuthServerBundle\Entity\AccessToken as BaseAccessToken;
/**
* AccessToken
*/
class AccessToken extends BaseAccessToken
{
/**
* @var integer
*/
protected $id;
/**
* @var \My\ApiBundle\Entity\Client
*/
protected $client;
/**
* @var \My\ApiBundle\Entity\User
*/
protected $user;
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set client
*
* @param \My\ApiBundle\Entity\Client $client
* @return AccessToken
*/
public function setClient(\My\ApiBundle\Entity\Client $client)
{
$this->client = $client;
return $this;
}
/**
* Get client
*
* @return \My\ApiBundle\Entity\Client
*/
public function getClient()
{
return $this->client;
}
/**
* Set user
*
* @param \My\ApiBundle\Entity\User $user
* @return AccessToken
*/
public function setUser(\My\ApiBundle\Entity\User $user = null)
{
$this->user = $user;
return $this;
}
/**
* Get user
*
* @return \My\ApiBundle\Entity\User
*/
public function getUser()
{
return $this->user;
}
}
现在,当我再次运行generate entities命令时,它会抛出此错误。
致命错误:我的\\ ApiBundle \\ Entity \\ AccessToken :: setUser()声明必须与D:\\中的FOS \\ OAuthServerBundle \\ Model \\ TokenInterface :: setUser(Symfony \\ Component \\ Security \\ Core \\ User \\ UserInterface $ user)兼容第12行的xampp \\ htdocs \\ oauth \\ src \\ My \\ ApiBundle \\ Entity \\ AccessToken.php
我究竟做错了什么? 我正在关注这里的文档。
您不能破坏setUser方法定义(在接口中定义)。 它必须与TokenInterface中的完全相同。
更改:
public function setUser(\My\ApiBundle\Entity\User $user = null)
至:
public function setUser(\Symfony\Component\Security\Core\User\UserInterface $user = null)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.