sfFacebookConnectPlugin - 1.1.1

Add easily Facebook connect to your symfony website and/or develop IFrame-FBML agnostic Facebook applications.

You are currently browsing
the website for symfony 1

Visit the Symfony2 website


« Back to the Plugins Home

Signin


Forgot your password?
Create an account

Tools

Stats

advanced search
Information Readme Releases Changelog Contribute
Show source

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

    $ svn co http://svn.symfony-project.com/plugins/sfFacebookConnectPlugin/trunk sfFacebookConnectPlugin
    
  • Create your application on Facebook

    http://www.facebook.com/developers/
    
  • Configure your app.yml file with all the correct settings

    # 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 sfGaurdUserProfile schema to add the 3 new columns needed

    # 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(4)
        email:            varchar(255)
        email_hash:       varchar(255)
      relations:
        sfGuardUser:
          type: one
          foreignType: one
          class: sfGuardUser
          local: user_id
          foreign: id
          onDelete: cascade
          foreignAlias: Profile
  • Enable the auth module in your settings.yml: sfFacebookConnectAuth

    all:
      .settings:
        enabled_modules:      [default, sfFacebookConnectAuth]
  • (Optional) Enable the sample module in your settings.yml: sfFacebookConnectDemo

    all:
      .settings:
        enabled_modules:      [default, sfFacebookConnectAuth, sfFacebookConnectDemo]
  • Eventually make myUser.class.php extend sfFacebookUser

  • Eventually 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