you can also read http://www.catalystframework.org/calendar/2009/4
but as far as I know, the OAuth credential doesn't (yet) properly work with Facebook, there should be a new release soon fixing that. On Wed, Nov 24, 2010 at 1:27 AM, Hernan Lopes <hernanlo...@gmail.com> wrote: > To integrate facebook login onto your site, > Have you tried Catalyst::Authentication::Credential::FBConnect ? > It works and lets you access users facebook id from $c->user->session_uid as > documented > > 1. You need to register under http://developers.facebook.com and register a > new application. You must include the exact address you will use on the > machine for it to work ie. "http://localhost:3000/" > > 2. you need to configure include these onto your myapp.conf > > <Plugin::Authentication> > default_realm facebook > <realms> > <facebook> > <credential> > > class FBConnect > api_key my_app_key > secret my_app_secret > app_name my_app_name > </credential> > > </facebook> > </realms> > </Plugin::Authentication> > > 3. you need a piece of javascript from facebook to create login button > (replace with your appId/fb_app_id as below): > > sub login_facebook : Path('/loginfacebook') : Args(0) { > my ( $self, $c ) = @_; > my $fb_app_id = '9999999999999999'; > $c->stash( template => \<<FBLOGIN > > <p><fb:login-button autologoutlink="true"></fb:login-button></p> > <p><fb:like></fb:like></p> > > <div id="fb-root"></div> > > <script> > window.fbAsyncInit = function() { > FB.init({appId: '$fb_app_id', status: true, cookie: true, > xfbml: true}); > > FB.Event.subscribe('auth.sessionChange', function(response) { > > if (response.session) { > // A user has logged in, and a new cookie has been saved > window.location="/fblogin"; //redirects user to our facebook login > so we can validate him and get his user id. > > } else { > // The user has logged out, and the cookie has been cleared > window.location="/"; > } > }); > }; > > (function() { > var e = document.createElement('script'); > > e.type = 'text/javascript'; > e.src = document.location.protocol + > '//connect.facebook.net/en_US/all.js'; > e.async = true; > > document.getElementById('fb-root').appendChild(e); > }()); > </script> > FBLOGIN > ); > } > > 4. then , i created an action /fblogin to register facebook credentials > internally when user logs in (see in the js) > > sub fbauthenticate :Path('/fblogin') :Args(0) { > my ($self, $c) = @_; > if ($c->authenticate()) { > $c->log->debug($c->user->session_uid); > $c->log->debug($c->user->session_key); > $c->log->debug($c->user->session_expires); > } > $c->res->redirect('/'); > } > > > So remember, register at the http://developer.facebook.com with the same url > your application will use, include ports if its not 80 > > --Hernan > > > On Tue, Nov 23, 2010 at 8:32 PM, Blaine Everingham > <grandmasterbla...@hotmail.com> wrote: >> >> Hi, >> >> I was wondering if anyone has a simple example of using OAuth with >> facebook to allow user login, to your software. >> >> I keep getting the error "oauth_parameters_absent:scope", but >> Catalyst::Authentication::Credential::OAuth document does not outline where >> you are supposed to enter this. >> >> Thanks, >> Blaine >> >> _______________________________________________ >> List: Catalyst@lists.scsys.co.uk >> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst >> Searchable archive: >> http://www.mail-archive.com/catalyst@lists.scsys.co.uk/ >> Dev site: http://dev.catalyst.perl.org/ >> > > > _______________________________________________ > List: Catalyst@lists.scsys.co.uk > Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst > Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/ > Dev site: http://dev.catalyst.perl.org/ > > -- Bogdan Lucaciu http://www.sinapticode.com _______________________________________________ List: Catalyst@lists.scsys.co.uk Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/ Dev site: http://dev.catalyst.perl.org/