HWIOAuthBundle не перенаправляет на вход в твиттер

Я настраиваю FOSUserBundle и HWIOAuthBundle("0.3.*@dev") для работы с facebook и twitter.

Я выполнил все шаги документации, и facebook работает хорошо, но 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

безопасность.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

Кто-нибудь знает, что мне не хватает?


person dextervip    schedule 06.11.2013    source источник
comment
Вы создаете класс FOSUBUserProvider? Подобно этому one, следуйте этому руководству, чтобы управлять данными, поступающими из твиттер, чтобы увидеть, что происходит   -  person tttony    schedule 06.11.2013
comment
@tttony Да, я создал его, как в ссылке gist.github.com/dextervip/24a809f3683765717934 Это работает с фейсбуком, но не с твиттером. Он даже не переходит на страницу входа в твиттер.   -  person dextervip    schedule 06.11.2013


Ответы (1)


Проблема заключалась в том, что URL-адрес обратного вызова Twitter не был настроен в конфигурации приложения Twitter. После установки одного URL-адреса обратного вызова он работал правильно.

person dextervip    schedule 06.11.2013
comment
не могли бы вы загрузить свой шаблон, где у вас отображается кнопка входа в систему - person Shaun; 30.01.2014