2016-06-20 5 views
1

私はバンドルdocumentationをFacebookのためにHWIOAuthBundleに設定しています。その後、私はFacebookのログインボタンの表示のためにthisの例を辿りましたが、それは動作しているようですが、完了していません。私は立ち往生し、次に何をすべきかを知らない。私はFacebookのログインボタンを押すとFacebookにログインした後、私はエラーを取得する:Symfony2 - HWIOAuthBundle - Facebookのログイン

Unable to find the controller for path "/sign-in/check-facebook". The route is wrongly configured. 

config.yml

hwi_oauth: 
    firewall_name: hwi_oauth 
    resource_owners: 
     facebook: 
      type:   facebook 
      client_id:  "%facebook_client_id%" 
      client_secret: "%facebook_client_secret%" 
      scope:   email 
      options: 
       display: popup 
       auth_type: rerequest 
       csrf:  true 

のsecurity.yml

firewalls: 
    hwi_oauth: 
     pattern: ^/ 
     anonymous: ~ 
     oauth: 
      resource_owners: 
       facebook: /sign-in/check-facebook 
      login_path: /sign-in 
      failure_path: /sign-in 
      oauth_user_provider: 
       service: oauth_user_provider 

のrouting.yml

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

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

facebook_login: 
    path: /sign-in/check-facebook 

これは何ですか/sign-in/check-facebookが必要ですか?なぜ私のアプリケーションはそれを見つけることができませんか?私はそれのためのコントローラを作成する必要がありますか?

hereというドキュメントでは、情報が応答オブジェクトを介して取得できると言われていますが、このコードはどこに書きますか?

+0

不要な時間を費やした後、私は公式のFacebookとの接続を解決することを提案します - https://developers.facebook.com/docs/php/howto/example_facebook_login –

答えて

1

security.ymlをご覧ください。 hwi_oauthファイアウォールの前に、アプリケーションが処理しているファイアウォールがありますか? @jkuriは、ここでその問題を抱えていたようです:https://github.com/hwi/HWIOAuthBundle/issues/781#issuecomment-100468744

彼の答え:

To answer my own question... a added firewall olta_portal before main firewall... don't know where was the problem, maybe because of the same pattern ^/ in both firewalls. Working now.

は、私はあまりにも、前にこの問題で苦労してきました!あなたのルートが最初にアプリケーションに登録されていることを確認するために、php app/console debug:router | grep facebookを実行してもう1つのサニティチェックを行います。

+0

そうです。ありがとうございました! –

0

HWIOAuthBundleを設定するとき、私は多くのことを苦労してきたので、私は最終的に設定権を得たとき、私はpretty nice tutorialにそれを追加することで、それを決して忘れないことを確認しました:

firewalls: 
    main: 
     pattern: ^/ 
     oauth: 
      failure_path: your_path 
      login_path: your_path 
      check_path: /connect_check 
      provider: fos_userbundle 
      resource_owners: 
       facebook: "/login/check-facebook" 
       google: "/login/check-google" 
      oauth_user_provider: 
       service: app.provider.oauth 

チュートリアルはまた、どのように適切に説明しますFOSUBUserProviderUserModelをセットアップし、リンクを追加する方法。

関連する問題