我正在定义一个新的 Controller 来充当JS 应用程序和 OAuth 服务器之间的代理。代码如下:
namespace Acme\SecurityBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
class ProxyController extends Controller
{
public function forwardTokenRequestAction(Request $request)
{
if( ! $request->isXmlHttpRequest() )
{
throw WhateverException();
}
$request->request->add( array(
'client_id'=>'...',
'client_secret'=>'...'
));
return $this->forward('FOSOAuthServerBundle:Token:token');
}
}
但是我收到以下错误,因为我转发到的 TokenController 有一个期望 OAuth 服务器作为参数的构造函数:
Catchable Fatal Error: Argument 1 passed to FOS\\OAuthServerBundle\\Controller\\TokenController::__construct() must be an instance of OAuth2\\OAuth2, none given
我不知道:
- 我可以在哪里得到这个服务器实例
- 我怎样才能将它传递给 TokenController
- 我的方法整体是否正确