2

FOSUserBundle と HWIOAuthBundle("0.3.*@dev") をセットアップして、facebook と twitter で動作するようにしています。

すべてのドキュメントの手順に従い、Facebook は正常に動作していますが、Twitter は正しく動作しません。クリックして Twitter に接続すると、アプリのログイン ページにリダイレクトされます。

ここに私の設定があります:

ルーティング.yml:

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

facebook_login:
    pattern: /login/check-facebook

twitter_login:
    pattern: /login/check-twitter

security.yml:

providers:
    fos_userbundle:
        id: fos_user.user_provider.username_email

firewalls:
    dev:
        pattern:  ^/(_(profiler|wdt)|css|images|js)/
        security: false
    main:
        pattern: ^/
        oauth:
            resource_owners:
                facebook: "/login/check-facebook"
                twitter: "/login/check-twitter"
            login_path: /login
            failure_path: /login
            oauth_user_provider:
                service: hwi_oauth.user.provider.fosub_bridge
        form_login:
            provider: fos_userbundle
            csrf_provider: form.csrf_provider
        logout:       true
        anonymous:    true

access_control:
    - { path: ^/connect, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/login, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/admin, role: ROLE_ADMIN }
    - { path: ^/panel, role: ROLE_USER }

config.yml:

hwi_oauth:
    firewall_name: main
    resource_owners:
        facebook:
            type:               facebook
            client_id:          %oauth.facebook.client_id% 
            client_secret:      %oauth.facebook.client_secret% 
            scope:              "email"
            options:
                display: popup
        twitter:
            type:                twitter
            client_id:           %oauth.twitter.client_id% 
            client_secret:       %oauth.twitter.client_secret%
            scope:               ""
    fosub:
        username_iterations: 5
        properties:
            facebook: facebookId
            twitter: twitterId
parameters:
    hwi_oauth.user.provider.fosub_bridge.class: MyProject\UserBundle\Security\User\Provider\OauthProvider

誰かが私が欠けているものを知っていますか?

4

1 に答える 1

3

問題は、twitter アプリの構成で構成されていない twitter コールバック URL でした。コールバック URL を 1 つ設定すると、正しく機能しました。

于 2013-11-06T17:16:26.453 に答える