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
   cookie

AUTHOR
   Jiro Nishiguchi <[email protected]>

   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/