2016-04-15 88 views
1

我正在尝试使FOSUserBundle与FOSOAuthServerBundle 一起工作,而我正在努力使用oauth_authorize,从而获得302重定向循环。使用FOSOAuth2和FOSUser授权重定向循环

以下是我在我的security.yml(简体):

firewalls: 
    oauth_authorize: 
     pattern: ^/oauth/v2/auth 
     form_login: 
     provider: fos_userbundle 
     check_path: /oauth/v2/auth/login_check 
     login_path: /oauth/v2/auth/login 

access_control: 
    - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY } 
    - { path: ^/oauth/v2/auth/login, role: IS_AUTHENTICATED_ANONYMOUSLY } 

我必须指定login_path因为默认/login不匹配oauth_authorize模式。

我已经在我的包中添加了/oauth/v2/auth/login路线,但即使使用虚拟控制器,也不会调用它。我只是得到302重定向,直到Firefox说足够了。

comments here中的某个人建议在模式正则表达式的末尾添加$,但路由不匹配。

日志给我:

security.INFO:一个的AuthenticationException被抛出;重定向到认证入口点。在/ home/arthur/PhpstormProjects/rss-api/vendor /目录中找不到Token, symfony/symfony/src/Symfony/Component/Security/Http/Firewall/AccessListener.php:53)“} []

我错过了什么吗?

编辑:symfony的3.0和OAuth的服务器软件包1.5

回答

0

我确实失去了一些东西,匿名指令,它阻止了防火墙来阻止访问。

firewalls: 
    oauth_authorize: 
     pattern: ^/oauth/v2/auth 
     form_login: 
     provider: fos_userbundle 
     check_path: /oauth/v2/auth/login_check 
     login_path: /oauth/v2/auth/login 
     anonymous: true