HWI Oauth + Symfony 2 /登录/检查错误

时间:2015-03-08 03:03:27

标签: symfony oauth hwioauthbundle

编辑:我将security.yml中的所有oauth配置移动到'默认'防火墙(并更新了oauth配置参数firewall_main:config.yml中的默认值),一切正常。

我遇到了Symfony的hwi / oauth-bundle问题。一切正常,直到我在reddit上进行身份验证后被定向回我的网站(我也尝试过twitter),此时我收到错误:

Unable to find the controller for path "/login/check-reddit". The route is wrongly configured.

我已经完成了几个文档/教程,包括:

从我可以收集的内容来看,/ login / check-reddit不是在防火墙后面的问题,但是,我已经尝试了几次调整,我似乎无法让它工作。我现在花了将近2个小时 - 如果有人有任何指示或建议,我将不胜感激!谢谢。

我的 routing.yml config.yml security.yml 的相关代码可以在下面找到。如果还有其他需要,请告诉我。

routing.ytml

hwi_oauth_redirect:
    resource: "@HWIOAuthBundle/Resources/config/routing/redirect.xml"
    prefix:   /connect

hwi_oauth_login:
    resource: "@HWIOAuthBundle/Resources/config/routing/login.xml"
    prefix:   /login

reddit_login:
    pattern: /login/check-reddit

twitter_login:
    pattern: /login/check-twitter

config.yml

hwi_oauth:
    firewall_name: main
    resource_owners:
        reddit:
            type:                reddit
            client_id:           xxx
            client_secret:       xxx
        twitter:
            type:                twitter
            client_id:           xxx
            client_secret:       xxx

security.yml

security:
    providers:
        in_memory:
            memory: ~

    firewalls:
        dev:
            pattern: ^/(_(profiler|wdt|error)|css|images|js)/
            security: false

        default:
            anonymous: ~

        main:
            anonymous: ~
            oauth:
                resource_owners:
                    twitter:          "/login/check-twitter"
                    reddit:           "/login/check-reddit"
                login_path:        /login
                use_forward:       true
                failure_path:      /login

                oauth_user_provider:
                    service: hwi_oauth.user.provider

    access_control:
        - { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }

1 个答案:

答案 0 :(得分:1)

当我遇到这个问题时,我不得不将我的路线从登录改为其他东西。所以我最终使用“外部登录”为我的hwi检查登录路线

<强>的routing.yml

hwi_oauth_login:
    resource: "@HWIOAuthBundle/Resources/config/routing/login.xml"
    prefix:   /external-login/

reddit_login:
    pattern: /external-login/check-reddit

twitter_login:
    pattern: /external-login/check-twitter

<强> security.yml

security:
    firewalls:
        main:
            oauth:
                resource_owners:
                    twitter:          "/external-login/check-twitter"
                    reddit:           "/external-login/check-reddit"