0

symfony2 アプリケーションの 1 つに Facebook 統合を使用しています。FOSUserBundle と FOSFacebookUserBundle を使用しました。

アプリケーションのフォームからログインでき、ユーザー セッションが作成されました。作成したアプリケーション FB セッションにログインするために FB を使用している場合も同じです。ここでは、form_login を介して行うのと同じように、ユーザー セッションを作成します。

FOSFacebookBundle は認証を提供しますか、それとも別の認証プロバイダーを作成する必要がありますか?

FOsUserBundle と FOSFacebookBundle で指定されているすべてのセットアップを完了しました。

誰でもこれについて私を助けることができますか?

4

1 に答える 1

0

最後に、問題を修正しました。

はい、FosFacebookBundle はアプリケーションのユーザー セッションを作成します。

認証プロバイダーを記述する必要はありません (ただし、FosFacebookBundle の基本的な使用方法に関するドキュメントに示されているように、Facebook プロバイダーで認証する必要があります)。

私の security.yml ファイアウォール設定:

firewalls:
    main:
        pattern: ^/
        anonymous:    true
        form_login:
            login_path:  /
            check_path:  _security_check
            failure_path:  login_failure
            success_handler: Projectfolder.authentication.success_handler
        fos_facebook:
            login_path: /
            check_path: _security_check_facebook
            provider: fos_facebook_provider
            default_target_path: /

        logout:
            path:   /logout
            target: /

私の routing.yml :

_security_check_facebook:
    pattern:   /facebook/login_check
    defaults:  { _controller: ProjectfolderUserBundle:Security:loginFb }

_security_facebook_logout:
    pattern:  /facebook/logout

注: _security_facebook_logout は、アプリケーションでは使用しません。ログアウト中は、Facebook セッションではなく、アプリケーション ユーザー セッションのみを削除します。開発中にこの URL を使用できます。

/facebook/login_check の代わりに login_check を呼び出しました。そのため、アプリケーションでユーザー セッションが設定されていません。今では正常に動作しています。

于 2013-10-07T05:45:07.930 に答える