FOSAuthBundle 注册事件 onPreAuthorizationProcess 从未调用
FOSAuthBundle Register Event onPreAuthorizationProcess never called
我想在 OAuth 上设置事件侦听器以记录连接失败和连接。
我在 services.yml 中注册了一个事件侦听器,定义了 EventListener/OAuthEventListener class 以及调用事件时触发的方法。
在我的 API 中,我只是将 /oauth/v2/token 调用到 login/refresh_token。这些调用由 fosrestbundle 处理。
我注册的方法从未被调用过。
这个 url 永远不会触发 fos_oauth_server.pre_authorization_process 事件吗?
路由配置:
<route id="fos_oauth_server_token" path="/oauth/v2/token" methods="GET POST">
<default key="_controller">fos_oauth_server.controller.token:tokenAction</default>
</route>
控制器服务:
<service id="fos_oauth_server.controller.token" class="FOS\OAuthServerBundle\Controller\TokenController">
<argument type="service" id="fos_oauth_server.server" />
</service>
服务器服务:
<parameters>
<parameter key="fos_oauth_server.server.class">OAuth2\OAuth2</parameter>
</parameters>
<service id="fos_oauth_server.server" class="%fos_oauth_server.server.class%">
<argument type="service" id="fos_oauth_server.storage" />
<argument>%fos_oauth_server.server.options%</argument>
</service>
控制器方法:
public function tokenAction(Request $request)
{
try {
return $this->server->grantAccessToken($request);
} catch (OAuth2ServerException $e) {
return $e->getHttpResponse();
}
}
假设您使用的是默认值,该路由的控制器服务只是委托给服务器库。 pre_authorization
事件在 /oauth/v2/auth
处理的授权期间被调用。
我想在 OAuth 上设置事件侦听器以记录连接失败和连接。
我在 services.yml 中注册了一个事件侦听器,定义了 EventListener/OAuthEventListener class 以及调用事件时触发的方法。
在我的 API 中,我只是将 /oauth/v2/token 调用到 login/refresh_token。这些调用由 fosrestbundle 处理。
我注册的方法从未被调用过。 这个 url 永远不会触发 fos_oauth_server.pre_authorization_process 事件吗?
路由配置:
<route id="fos_oauth_server_token" path="/oauth/v2/token" methods="GET POST">
<default key="_controller">fos_oauth_server.controller.token:tokenAction</default>
</route>
控制器服务:
<service id="fos_oauth_server.controller.token" class="FOS\OAuthServerBundle\Controller\TokenController">
<argument type="service" id="fos_oauth_server.server" />
</service>
服务器服务:
<parameters>
<parameter key="fos_oauth_server.server.class">OAuth2\OAuth2</parameter>
</parameters>
<service id="fos_oauth_server.server" class="%fos_oauth_server.server.class%">
<argument type="service" id="fos_oauth_server.storage" />
<argument>%fos_oauth_server.server.options%</argument>
</service>
控制器方法:
public function tokenAction(Request $request)
{
try {
return $this->server->grantAccessToken($request);
} catch (OAuth2ServerException $e) {
return $e->getHttpResponse();
}
}
假设您使用的是默认值,该路由的控制器服务只是委托给服务器库。 pre_authorization
事件在 /oauth/v2/auth
处理的授权期间被调用。