DragonFly On-Line Manual Pages

Search: Section:  


FLICKR_OAUTH_AUTHENTICATION(1)             User Contributed Perl Documentation

DESCRIPTION

The original Flickr Authentication has been deprecated in favor of OAuth. This example script shows one way to use Flickr::API to go from having just the consumer_key and consumer_secret (or api_key and api_secret using Flickr's terminology) to an authenticated token.

USAGE

./flickr_oauth_authentication.pl \ --consumer_key="24680beef13579feed987654321ddcc6" \ --consumer_secret="de0cafe4feed0242" The script will produce a url for you to enter into a browser then prompt you to enter the callback url that is returned by flickr. It then does a Data::Dumper dump of the parameter keys and values which can be recorded for future use. If you want to make it more complete, you could modify the script to format and dump the information into a config file of some type.

PROGRAM FLOW

Following the flow laid out in <https://www.flickr.com/services/api/auth.oauth.html> Flickr Step 1, Application: get a request token The script takes the consumer_key and consumer secret and creates a Flickr::API object. It then calls the oauth_request_token method with an optional callback specified. my $api = Flickr::API->new($cli_args); $api->oauth_request_token({'callback' => 'https://127.0.0.1'}); Flickr Step 1, Flickr: return a request token. The oauth request token is saved in the Flickr::API object. Flickr Step 2. Application: Direct user to Flickr for Authorization The script now calls the oauth_authorize_uri method with the optional perms parameter. The Flickr::API returns a uri which (in this case) is cut in the terminal and pasted into a browser. my $request2 = $api->oauth_authorize_uri({'perms' => 'read'}); print "\n\nYou now need to open: \n\n$request2\n\nin a browser.\n "; Flickr Step 2. Flickr: Prompts user to provide Authorization Assuming all is well with the request token and oauth_authorize_uri Flickr will open a webpage to allow you to authenticate the application identified by the consumer_key to have the requested perms. Flickr Step 2. User: User authorizes application access This is you, granting permission to the application. Flick Step 2, Flickr: redirects the user back to the application Flickr returns an oauth_verifier in the callback. In this script you cut the callback from the browser and paste it into the terminal to continue on to the next step. $response2 = $term->readline('Enter the callback redirected url: '); The cutting and pasting is a little crude, but you only have to do it once. Flickr Step 3, Application: exchange request token for access token The script takes the request token and the oauth_verifier and exchanges them for an access token. my $request3 = $api->oauth_access_token(\%hash2); Flickr Step 3, Flickr: returns an access token and token secret Flickr will return an access token and token secret if all has gone well. These are stashed in the Flickr::API object. Save the access information How you save the access information is outside the scope of this example. However, the oauth_export_config method can be used to retrieve the oauth parameters from the Flickr::API object. my %oconfig = $api->oauth_export_config('protected resource'); print Dumper(\%oconfig);

AUTHOR

Louis B. Moore <lbmoore at hethcote.com>

COPYRIGHT AND LICENSE

Copyright 2014, Louis B. Moore This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself. perl v5.20.2 2015-06-09 FLICKR_OAUTH_AUTHENTICATION(1)

Search: Section: