2017-05-29 14 views
1

私は自分のアプリにHWIOauthBundle + FOSUserBundleを実装していて、部分的に動いています。HWIOauthBundle - Facebook Login - Symfony3

ログインは正常に動作していますが、存在しないか間違ったパスワードでログインすると、(HWIOauthBundleのために)/接続ルートにリダイレクトされます。

どうすればこの問題を解決できますか?何か間違っている場合は、FOSUserBundleから/ login_checkが戻ってきているかどうかを確認してください。私はFacebookにログインしたくない。

私のsecurity.ymlコード:

# To get started with security, check out the documentation: 
# http://symfony.com/doc/current/book/security.html 
security: 
    encoders: 
     FOS\UserBundle\Model\UserInterface: bcrypt 

    role_hierarchy: 
     ROLE_ADMIN:  ROLE_USER 
     ROLE_SUPER_ADMIN: ROLE_ADMIN 

    providers: 
     fos_userbundle: 
      id: fos_user.user_provider.username_email 

    firewalls: 
     # disables authentication for assets and the profiler, adapt it according to your needs 
     dev: 
      pattern: ^/(_(profiler|wdt)|css|images|js)/ 
      security: false 

     main: 
      pattern: ^/ 
      form_login: 
       provider: fos_userbundle 
       csrf_token_generator: security.csrf.token_manager 

      oauth: 
       resource_owners: 
        facebook: '/login' 
       login_path: /connect 
       failure_path: /connect 

       oauth_user_provider: 
        service: hwi_oauth.user.provider.fosub_bridge 
      logout: true 
      anonymous: true 
      remember_me: 
       secret: '%secret%' 
       lifetime: 604800 # 1 week in seconds 
       path: /
       # by default, the feature is enabled by checking a 
       # checkbox in the login form (see below), uncomment the 
       # following line to always enable it. 
       #always_remember_me: true 


    access_control: 
     - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY } 
     - { path: ^/register$, role: IS_AUTHENTICATED_ANONYMOUSLY } 
     - { path: ^/resetting$, role: IS_AUTHENTICATED_ANONYMOUSLY } 
     - { path: ^/admin, roles: ROLE_ADMIN } 
     - { path: ^/shipment, roles: ROLE_USER } 

私のrouting.ymlコード:

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

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

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

facebook_login: 
    path: /login/check-facebook 

# main login. 
AppBundle: 
    resource: "@AppBundle/Controller/" 
    type:  annotation 

FrontendBundle: 
    resource: "@FrontendBundle/Controller/" 
    type:  annotation 

FOSUserBundle: 
    resource: "@FOSUserBundle/Resources/config/routing/all.xml" 

FOSMessageBundle: 
    resource: "@FOSMessageBundle/Resources/config/routing.xml" 
    prefix: /messenger 

MyDinxxUserBundle: 
    resource: "@UserBundle/Controller/" 
    type:  annotation 

答えて

0

「/ログイン/チェックのFacebookに '/ログイン' からFacebookのパスを変更してみてください'である。

oauth: 
    resource_owners: 
     facebook: '/login/check-facebook' 
+0

これは何とかしています...まだリダイレクトされていますが、今は/ loginルートにあり、エラーはありません。私はそのページに私をリダイレクトしなければならないと思うが、エラーがある。 – Kiddo

+0

最後に、security.ymlとrouting.ymlの '/ login'を '/ login'に変更してみてください。 –

+0

/loginでルートをすべて/接続しますか? – Kiddo