NAME
Yahoo::BBAuth - Perl interface to the Yahoo! Browser-Based Authentication.
SYNOPSIS
my $bbauth = Yahoo::BBAuth->new(
appid => $appid,
secret => $secret,
);
# Create an authentication link
printf '<a href="%s">Click here to authorize</a>', $bbauth->auth_url;
# After the user authenticates successfully, Yahoo returns the user to the page you
# dictated when you signed up. To verify whether authentication succeeded, you need to
# validate the signature:
if ($bbauth->validate_sig()) {
print 'Authentication Successful';
} else {
print 'Authentication Failed. Error is: '.$bbauth->sig_validation_error;
}
my $url = 'http://photos.yahooapis.com/V1.0/listAlbums';
my $xml = $bbauth->auth_ws_get_call($url);
unless ($xml) {
print 'WS call setup Failed. Error is: '. $bbauth->access_credentials_error;
} else {
print 'Look at response for other errors or success: '.$xml;
}
DESCRIPTION
This module priovides you an Object Oriented interface for Yahoo! Browser-Based Authentication.
This module is ported from official PHP class library(http://developer.yahoo.com/auth/quickstart/bbauth_quickstart.zip).
METHODS
new(appid => $appid, secret => $secret)
Returns an instance of this module. You must set the your application id and shared secret.
auth_url(%param)
Create the Login URL used to fetch authentication credentials. This is the first step in the browser authentication process.
You can set the %param to send_userhash and appdata if you need(optinal).
The appdata typically a session id that Yahoo will transfer to the target application upon successful authentication.
If send_userhash set, the send_userhash=1 request will be appended to the request URL so that the userhash will be returned by Yahoo! after successful authentication.
validate_sig
Validates the signature returned by Yahoo's browser authentication services.
Returns true if the sig is validated. Returns undef if any error occurs. If undef is returned, $self->sig_validation_error should contain a string describing the error.
auth_ws_get_call($url)
Make an authenticated web services call using HTTP GET. Returns responce if successful, a string is returned containing the web service response which might be XML, JSON, or some other type of text. If an error occurs, the error is stored in $self->access_credentials_error.
auth_ws_post_call($url)
Make an authenticated web services call using HTTP POST.
sig_validation_error
Returns error message when validate_sig failed.
access_credentials_error
Returns error message when auth_ws_get_call or auth_ws_post_call failed.
ACCESSORS
- appid
- secret
- userhash
- appdata
- timeout
- token
- WSSID
AUTHOR
Jiro Nishiguchi <jiro@cpan.org>
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
SEE ALSO
http://developer.yahoo.com/auth/