Facebook authentication
use WWW::Facebook::API;
Methods for accessing auth with WWW::Facebook::API
Returns the WWW::Facebook::API base object.
Constructor.
auth.createToken of the Facebook \s-1API\s0. Will always return the token string, regardles of the \*(C`parse\*(C' setting in WWW::Facebook::API: $token = $client->auth->create_token; auth.getSession of the Facebook \s-1API\s0. If you have the desktop attribute set to true and $token isn't passed in, the return value from \*(C`$client->auth->create_token\*(C' will be used. If the desktop attribute is set to false the $token must be the auth_token returned from Facebook to your web app for that user: if ( $q->param('auth_token') ) { $client->auth->get_session( $q->param('auth_token') ); } \*(C`get_session\*(C' automatically sets \*(C`session_uid\*(C', \*(C`session_key\*(C', and \*(C`session_expires\*(C' for $client. It returns nothing. Only for desktop apps. It first calls \*(C`create_token\*(C' to get a valid token. It then opens the user's default browser and have them sign in to the Facebook application. If \*(C`browser\*(C' is passed in, the module will use that string as the command to execute, e.g.: system qq($browser_cmd "$login_url"); After the browser is called, it will pause for $sleep seconds (or 15 seconds if $sleep is not defined), to give the user time to log in. The method returns the session token created by \*(C`create_token\*(C'. Implementation of the auth.expireSession function. $result = $client->auth->expire_session(); Implementation of the auth.promoteSession function. $result = $client->auth->promote_session(); Implementation of the auth.revokeAuthorization function. $result = $client->auth->revoke_authorization(); Implementation of the auth.revokeExtendedPermission function. $result = $client->auth->revoke_extended_permission( perm => 'email', uid => $uid );
Sends a \s-1POST\s0 to http://www.facebook.com/logout.php, with the parameter \*(L"confirm\*(R" set to 1 (Cf. http://developers.facebook.com/documentation.php?v=1.0&doc=auth )
Makes the \s-1WFA\s0 object's server \s-1URI\s0 scheme http. Uses \*(C`_flip_scheme\*(C'.
Makes the \s-1WFA\s0 object's server \s-1URI\s0 scheme https. Uses \*(C`_flip_scheme\*(C'. If $make_https is true, the scheme becomes https. If false, the scheme becomes http. The \s-1WFA\s0 object's \*(C`server_uri\*(C' attribute is then set to use that scheme.
You are running a desktop app and you did not pass a token into get_session. You can create a token by calling create_token() or (better) login(). You are running a web app and the user hasn't logged in to Facebook for your web app. When the user does so, an auth_token will be returned (as a parameter) to your callback url. Use that auth_token for the session. The module doesn't know the command to use to open a browser on the given system. If you passed in \*(C`browser\*(C' to login(), it can use that string as the command to execute to open the login url.
The login() method is not able to be used to sign in when using a web app. See the Facebook \s-1TOS\s0 A.9.iv.
WWW::Facebook::API::Auth requires no configuration files or environment variables.
See WWW::Facebook::API
None.
No bugs have been reported.
Please report any bugs or feature requests to \*(C`[email protected]\*(C', or through the web interface at <http://rt.cpan.org>.
David Romano \*(C`<[email protected]>\*(C'
Copyright (c) 2007-2010, David Romano \*(C`<[email protected]>\*(C'. All rights reserved.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic.
\s-1BECAUSE\s0 \s-1THIS\s0 \s-1SOFTWARE\s0 \s-1IS\s0 \s-1LICENSED\s0 \s-1FREE\s0 \s-1OF\s0 \s-1CHARGE\s0, \s-1THERE\s0 \s-1IS\s0 \s-1NO\s0 \s-1WARRANTY\s0 \s-1FOR\s0 \s-1THE\s0 \s-1SOFTWARE\s0, \s-1TO\s0 \s-1THE\s0 \s-1EXTENT\s0 \s-1PERMITTED\s0 \s-1BY\s0 \s-1APPLICABLE\s0 \s-1LAW\s0. \s-1EXCEPT\s0 \s-1WHEN\s0 \s-1OTHERWISE\s0 \s-1STATED\s0 \s-1IN\s0 \s-1WRITING\s0 \s-1THE\s0 \s-1COPYRIGHT\s0 \s-1HOLDERS\s0 \s-1AND/OR\s0 \s-1OTHER\s0 \s-1PARTIES\s0 \s-1PROVIDE\s0 \s-1THE\s0 \s-1SOFTWARE\s0 \*(L"\s-1AS\s0 \s-1IS\s0\*(R" \s-1WITHOUT\s0 \s-1WARRANTY\s0 \s-1OF\s0 \s-1ANY\s0 \s-1KIND\s0, \s-1EITHER\s0 \s-1EXPRESSED\s0 \s-1OR\s0 \s-1IMPLIED\s0, \s-1INCLUDING\s0, \s-1BUT\s0 \s-1NOT\s0 \s-1LIMITED\s0 \s-1TO\s0, \s-1THE\s0 \s-1IMPLIED\s0 \s-1WARRANTIES\s0 \s-1OF\s0 \s-1MERCHANTABILITY\s0 \s-1AND\s0 \s-1FITNESS\s0 \s-1FOR\s0 A \s-1PARTICULAR\s0 \s-1PURPOSE\s0. \s-1THE\s0 \s-1ENTIRE\s0 \s-1RISK\s0 \s-1AS\s0 \s-1TO\s0 \s-1THE\s0 \s-1QUALITY\s0 \s-1AND\s0 \s-1PERFORMANCE\s0 \s-1OF\s0 \s-1THE\s0 \s-1SOFTWARE\s0 \s-1IS\s0 \s-1WITH\s0 \s-1YOU\s0. \s-1SHOULD\s0 \s-1THE\s0 \s-1SOFTWARE\s0 \s-1PROVE\s0 \s-1DEFECTIVE\s0, \s-1YOU\s0 \s-1ASSUME\s0 \s-1THE\s0 \s-1COST\s0 \s-1OF\s0 \s-1ALL\s0 \s-1NECESSARY\s0 \s-1SERVICING\s0, \s-1REPAIR\s0, \s-1OR\s0 \s-1CORRECTION\s0.
\s-1IN\s0 \s-1NO\s0 \s-1EVENT\s0 \s-1UNLESS\s0 \s-1REQUIRED\s0 \s-1BY\s0 \s-1APPLICABLE\s0 \s-1LAW\s0 \s-1OR\s0 \s-1AGREED\s0 \s-1TO\s0 \s-1IN\s0 \s-1WRITING\s0 \s-1WILL\s0 \s-1ANY\s0 \s-1COPYRIGHT\s0 \s-1HOLDER\s0, \s-1OR\s0 \s-1ANY\s0 \s-1OTHER\s0 \s-1PARTY\s0 \s-1WHO\s0 \s-1MAY\s0 \s-1MODIFY\s0 \s-1AND/OR\s0 \s-1REDISTRIBUTE\s0 \s-1THE\s0 \s-1SOFTWARE\s0 \s-1AS\s0 \s-1PERMITTED\s0 \s-1BY\s0 \s-1THE\s0 \s-1ABOVE\s0 \s-1LICENSE\s0, \s-1BE\s0 \s-1LIABLE\s0 \s-1TO\s0 \s-1YOU\s0 \s-1FOR\s0 \s-1DAMAGES\s0, \s-1INCLUDING\s0 \s-1ANY\s0 \s-1GENERAL\s0, \s-1SPECIAL\s0, \s-1INCIDENTAL\s0, \s-1OR\s0 \s-1CONSEQUENTIAL\s0 \s-1DAMAGES\s0 \s-1ARISING\s0 \s-1OUT\s0 \s-1OF\s0 \s-1THE\s0 \s-1USE\s0 \s-1OR\s0 \s-1INABILITY\s0 \s-1TO\s0 \s-1USE\s0 \s-1THE\s0 \s-1SOFTWARE\s0 (\s-1INCLUDING\s0 \s-1BUT\s0 \s-1NOT\s0 \s-1LIMITED\s0 \s-1TO\s0 \s-1LOSS\s0 \s-1OF\s0 \s-1DATA\s0 \s-1OR\s0 \s-1DATA\s0 \s-1BEING\s0 \s-1RENDERED\s0 \s-1INACCURATE\s0 \s-1OR\s0 \s-1LOSSES\s0 \s-1SUSTAINED\s0 \s-1BY\s0 \s-1YOU\s0 \s-1OR\s0 \s-1THIRD\s0 \s-1PARTIES\s0 \s-1OR\s0 A \s-1FAILURE\s0 \s-1OF\s0 \s-1THE\s0 \s-1SOFTWARE\s0 \s-1TO\s0 \s-1OPERATE\s0 \s-1WITH\s0 \s-1ANY\s0 \s-1OTHER\s0 \s-1SOFTWARE\s0), \s-1EVEN\s0 \s-1IF\s0 \s-1SUCH\s0 \s-1HOLDER\s0 \s-1OR\s0 \s-1OTHER\s0 \s-1PARTY\s0 \s-1HAS\s0 \s-1BEEN\s0 \s-1ADVISED\s0 \s-1OF\s0 \s-1THE\s0 \s-1POSSIBILITY\s0 \s-1OF\s0 \s-1SUCH\s0 \s-1DAMAGES\s0.