NAME
Net::OAuth::Client - OAuth 1.0A Client
SYNOPSIS
# Web Server Example (Dancer)
# This example is simplified for illustrative purposes, see the complete code in /demo
# Note that client_id is the Consumer Key and client_secret is the Consumer Secret
use
Dancer;
use
Net::OAuth::Client;
sub
client {
Net::OAuth::Client->new(
config->{client_id},
config->{client_secret},
request_token_path
=>
'/accounts/OAuthGetRequestToken?scope=https%3A%2F%2Fwww.google.com%2Fm8%2Ffeeds%2F'
,
authorize_path
=>
'/accounts/OAuthAuthorizeToken'
,
access_token_path
=>
'/accounts/OAuthGetAccessToken'
,
callback
=> uri_for(
"/auth/google/callback"
),
session
=> \
&session
,
);
}
# Send user to authorize with service provider
get
'/auth/google'
=>
sub
{
redirect client->authorize_url;
};
# User has returned with token and verifier appended to the URL.
get
'/auth/google/callback'
=>
sub
{
# Use the auth code to fetch the access token
my
$access_token
= client->get_access_token(params->{oauth_token}, params->{oauth_verifier});
# Use the access token to fetch a protected resource
my
$response
=
$access_token
->get(
'/m8/feeds/contacts/default/full'
);
# Do something with said resource...
if
(
$response
->is_success) {
return
"Yay, it worked: "
.
$response
->decoded_content;
}
else
{
return
"Error: "
.
$response
->status_line;
}
};
dance;
DESCRIPTION
Net::OAuth::Client represents an OAuth client or consumer.
WARNING: Net::OAuth::Client is alpha code. The rest of Net::OAuth is quite stable but this particular module is new, and is under-documented and under-tested.
METHODS
- new($client_id, $client_secret, %params)
-
Create a new Client
$client_id
AKA Consumer Key - you get this from the service provider when you register your application.
$client_secret
AKA Consumer Secret - you get this from the service provider when you register your application.
$params{site}
$params{request_token_path}
$params{authorize_path}
$params{access_token_path}
$params{callback}
$params{session}
AUTHOR
Originally by Keith Grennan <kgrennan@cpan.org>
Currently maintained by Robert Rothenberg <rrwo@cpan.org>
LICENSE AND COPYRIGHT
Copyright 2007-2012, 2024-2025 Keith Grennan
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.