|
NAMENet::Google::AuthSub - interact with sites that implement Google style AuthSubSYNOPSISmy $auth = Net::Google::AuthSub->new; my $response = $auth->login($user, $pass); if ($response->is_success) { print "Hurrah! Logged in\n"; } else { die "Login failed: ".$response->error."\n"; } my %params = $auth->auth_params; $params{Content_Type} = 'application/atom+xml; charset=UTF-8'; $params{Content} = $xml; $params{'X-HTTP-Method-Override'} = 'DELETE'; my $request = POST $url, %params; my $r = $user_agent->request( $request ); ABOUT AUTHSUBAuthSub is Google's method of authentication for their web services. It is also used by other web sites.You can read more about it here. http://code.google.com/apis/accounts/Authentication.html A Google Group for AuthSub is here. http://groups.google.com/group/Google-Accounts-API DEALING WITH CAPTCHASIf a login response fails then it may set the error code to 'CaptchRequired' and the response object will allow you to retrieve the "captchatoken" and "captchaurl" fields.The "captchaurl" will be the url to a captcha image or you can show the user the web page https://www.google.com/accounts/DisplayUnlockCaptcha Then retry the login attempt passing in the parameters "logintoken" (which is the value of "captchatoken") and "logincaptcha" which is the user's answer to the CAPTCHA. my $auth = Net::Google::AuthSub->new; my $res = $auth->login($user, $pass); if (!$res->is_success && $res->error eq 'CaptchaRequired') { my $answer = display_captcha($res->captchaurl); $auth->login($user, $pass, logintoken => $res->captchatoken, logincaptcha => $answer); } You can read more here http://code.google.com/apis/accounts/AuthForInstalledApps.html#Using METHODSnew [param[s]]Return a new authorisation object. The options are
See http://code.google.com/apis/accounts/AuthForInstalledApps.html#ClientLogin for more details. login <username> <password> [opt[s]]Login to google using your username and password.Can optionally take a hash of options which will override the default login params. Returns a "Net::Google::AuthSub::Response" object. authorisedWhether or not we're authorised.authorizedAn alias for authorized.auth <username> <token>Use the AuthSub method for access.See http://code.google.com/apis/accounts/AuthForWebApps.html for details. auth_token [token]Get or set the current auth tokenauth_type [type]Get or set the current auth typeReturns either $Net::Google::AuthSub::CLIENT_LOGIN or $Net::Google::AuthSub::AUTH_SUB. request_token <next> <scope> [option[s]]Return a URI object representing the URL which the user should be directed to in order to aquire a single use token.The parameters are
session_tokenExchange the temporary token for a long-lived session token.The single-use token is acquired by visiting the url generated by calling request_token. Returns the token if success and undef if failure. revoke_tokenRevoke a valid session token. Session tokens have no expiration date and will remain valid unless revoked.Returns 1 if success and undef if failure. token_infoCall AuthSubTokenInfo to test whether a given session token is valid. This method validates the token in the same way that a Google service would; application developers can use this method to verify that their application is getting valid tokens and handling them appropriately without involving a call to the Google service. It can also be used to get information about the token, including next URL, scope, and secure status, as specified in the original token request.Returns a "Net::Google::AuthSub::Response" object on success or undef on failure. auth_paramsReturn any parameters needed in an HTTP request to authorise your app.AUTHORSimon Wistow <simon@thegestalt.org>COPYRIGHTCopyright, 2007 - Simon WistowReleased under the same terms as Perl itself
Visit the GSP FreeBSD Man Page Interface. |