Skip to content

A Facebook Connect plugin for symfony that lets you add easily Facebook connect to your symfony website and/or develop IFrame-FBML agnostic Facebook applications

License

Notifications You must be signed in to change notification settings

theodo/sfFacebookConnectPlugin

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sfFacebookConnectPlugin
=======================

The sfFacebookConnect plugin:

  * helps easily setup a Facebook Connect authentification on a symfony project using sfGuardUser

  * is also a good wrapper to create a Facebook application using symfony

Installation
------------


  * Install the plugin: the __git__ and recommended way


        $ git submodule add https://github.com/theodo/sfFacebookConnectPlugin.git plugins/sfFacebookConnectPlugin
        $ cd plugins/sfFacebookConnectPlugin
        $ git submodule init # add the facebook php-sdk as a submodule
        $ git submodule update

        # or all in one
        $ git submodule add --recursive https://github.com/theodo/sfFacebookConnectPlugin.git plugins/sfFacebookConnectPlugin

  * Create your application on Facebook

        https://www.facebook.com/developers/


  * Configure your `app.yml` file with all the correct settings

        [yml]
        # default values
        all:
          facebook:
            api_key: xxx
            api_secret: xxx
            api_id: xxx
            redirect_after_connect: false
            redirect_after_connect_url: ''
            connect_signin_url: 'sfFacebookConnectAuth/signin'
            app_url: '/my-app'   # the facebook application canvas url
            guard_adapter: ~     # to customise a guard adapter
            js_framework: none # none, jQuery or prototype.

        # It is highly recommended to use a js framework if you want a correct experience in IE
          sf_guard_plugin:
            profile_class: sfGuardUserProfile
            profile_field_name: user_id
            profile_facebook_uid_name: facebook_uid
            profile_email_name: email
            profile_email_hash_name: email_hash

          facebook_connect:
            load_routing:     true
            user_permissions: []


  * Modify your `sfGuardUserProfile` schema to add the 3 new columns needed

        [yml]
        # Doctrine schema sample
        sfGuardUserProfile:
          tableName:     sf_guard_user_profile
          columns:
            user_id:          integer(4)
            first_name:       varchar(20)
            last_name:        varchar(20)
            facebook_uid:     integer(5) # Must be BIGINT to fit Facebook's uids
            email:            varchar(255)
            email_hash:       varchar(255)
          relations:
            sfGuardUser:
              type: one
              foreignType: one
              class: sfGuardUser
              local: user_id
              foreign: id
              onDelete: cascade
              foreignAlias: Profile
          indexes: # optional but recommended for performance
            facebook_uid_unique:
              type: unique
              fields: [facebook_uid]


  * Enable the auth module in your `settings.yml`: `sfFacebookConnectAuth`

        [php]
        all:
          .settings:
            enabled_modules:      [default, sfFacebookConnectAuth]

  * (Optional) Enable the sample module in your `settings.yml`: `sfFacebookConnectDemo`

        [php]
        all:
          .settings:
            enabled_modules:      [default, sfFacebookConnectAuth, sfFacebookConnectDemo]

  * Optionally use the sfFacebook filters

  * etc. A lot still needs to be documented.

  * Clear your cache

        $ php symfony cc

  * Publish the plugin assets

        $ php symfony plugin:publish-assets

About

A Facebook Connect plugin for symfony that lets you add easily Facebook connect to your symfony website and/or develop IFrame-FBML agnostic Facebook applications

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 72.7%
  • JavaScript 27.3%