sfFacebookConnectPlugin
sfFacebookConnectPlugin copied to clipboard
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
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 recommanded way
$ git submodule add http://github.com/fabriceb/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 http://github.com/fabriceb/sfFacebookConnectPlugin.git plugins/sfFacebookConnectPlugin -
Create your application on Facebook
http://www.facebook.com/developers/ -
Configure your
app.ymlfile 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
sfGaurdUserProfileschema 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 -
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] -
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