Recommend this page to a friend! |
Download |
Info | Example | Screenshots | Files | Install with Composer | Download | Reputation | Support forum | Blog | Links |
Last Updated | Ratings | Unique User Downloads | Download Rankings | |||||
2024-11-09 (29 days ago) | 72% | Total: 26,744 This week: 7 | All time: 19 This week: 10 |
Version | License | PHP version | Categories | |||
oauth-api 1.0.138 | BSD License | 5.2 | PHP 5, User Management, Web services |
Description | Author | ||||||||
This class can authorize the access of users to an API using the OAuth protocol. |
|
I need a PHP class for LinkedIn data scraping
Crawl and scrape data from LinkedIn
PHP OAuth API for Etsy
Library to handle OAuth 1.0 API
What is the best PHP payment gateway integration class?
Make payments through paytm or phonepe
Grab email, contact number from anonymous Web site visitor
Anonymous visitor identification using PHP
What is the best PHP skype api send message class?
PHP wrapper class for sending messages through PHP
login with linked library
i need linkedin libaray for login
Collect data to save in mySQL database
Use API to request posts, then process results and save to mySQL
Linkedin login
I need to create an app with login via linkedin
Google Docs using PHP
Interact with Google Docs
Oauth gsuite integration
Not allowing gsuite for general user
Retrieve Twitter user profile info
Integrate Twitter in my application
What is the best PHP facebook login class?
Facebook login to my website
PHP Class for Social login
Login using credentials from a social site such as Facebook
What is the best PHP facebook login class?
Would like some example of usage Facebook login
What is the best PHP youtube api class?
Get subscribers
What is the best PHP hotelbeds api class?
Hotelbeds API class
What is the best PHP php7 oauth http client class?
oAuth class which requires http client in PHP 7
What is the best PHP zurmo api class?
Working example of using the API to add a task
Integrate wit ai API
PHP class to integrate wit ai API
Fitbit Subscription API
Subscribing to Fitbit events and verify subscriber
How to login with Facebook?
Facebook login using OAuth 2.0
What is the best PHP flickr uploading class?
PHP uploader class for Flickr
What is the best PHP oauth class?
oAuth 2
Get latest Facebook posts on timeline
I need to get the last 5 facebook posts
Facebook auto publish without Facebook app
Automatically post in Facebook Simulating Human
What is the best PHP twitter auto post class?
want to auto post status from my site
Google Drive file management
Handle files using Google Drive API
Import Google contacts
Social login works but not import contacts
Developing an API with using Google and Facebook API
Create an own API works together with other social network APIs
Meetup OAuth connection code using PHP
I am getting an error trying to get property of non-object
Google custom search engine using the API
Google Custom Search engine using the API in PHP
<?php |
The OAuth protocol is not hard to understand but it requires learning about many details and the many differences of operation with different OAuth servers.
PHP has an extension for using OAuth but it practically requires that you learn all the specification documents for all aspects of the OAuth protocol.
Therefore it is better to use a client class like this encapsulate all steps so you do not have to learn so much about the OAuth protocol in all its versions.
This PHP class can work with OAuth 1.0 and 1.0a. Despite the class supports servers that work with OAuth 1.0, it is not a secure solution. So most servers that you see and support OAuth 1.0, it is actually OAuth 1.0a which is secure.
OAuth 2.0 is not a better version of OAuth 1.0a as if it was an upgrade. You may still see many servers that work securely using OAuth 1.0a.
Nowadays most servers use OAuth 2.0 because it is a protocol version that support more extensions.
The PHP OAuth class either OAuth 1.0, OAuth 1.0a and OAuth 2.0 . For the developer that uses this class, it does not make much difference because the function calls to use are the same.
The main internal difference is that OAuth 1.0a servers return both an access token value and an access token secret.
Several articles have been written to tell not only how to use this package but also to tell about how the different versions of the OAuth protocol work.
You can read all the available tutorial articles in the package blog.
The main tutorial article is entitled PHP OAuth Tutorial on How to Use a Pure PHP OAuth Class with an Example Without using the PECL module Implementation.
This PHP OAuth class can work with any server using OAuth1 or OAuth2. Just change the server variable to the name supported API.
The class provides built-in support for a few common APIs but any new API can be supported by adding a new entry to the oauth_configuration.json file.
This configuration file can be used to presets option values for class variables with the following names. Check the class documentation to learn the meaning of each of these option variables:
oauth_version
dialog_url
reauthenticate_dialog_url
pin_dialog_url
access_token_url
request_token_url
append_state_to_redirect_uri
authorization_header
url_parameters
token_request_method
signature_method
access_token_authentication
access_token_parameter
default_access_token_type
store_access_token_response
refresh_token_authentication
grant_type
access_token_content_type
Here is a simple example of getting the authorization token and making an API call to Facebook Graph API.
Check the complete Facebook OAuth2 PHP OAuth example here.
// Include the necessary class files directly or
// vendor/autoload.php if you used composer to install the package.
require('http.php');
require('oauth_client.php');
$client = new oauth_client_class;
$client->server = 'Facebook';
$client->client_id = 'your application id here';
$client->client_secret = 'your application secret here';
$client->scope = 'email';
if(($success = $client->Initialize()))
{
if(($success = $client->Process()))
{
if(strlen($client->access_token))
{
$success = $client->CallAPI(
'https://graph.facebook.com/v2.3/me?'.
'fields=id,first_name,last_name,verified,email',
'GET', array(), array('FailOnAccessError'=>true), $user);
}
$success = $client->Finalize($success);
}
if($client->exit)
exit;
}
if($success)
{
echo '<h1>', HtmlSpecialChars($user->name),
' you have logged in successfully with Facebook!</h1>';
}
else
{
echo 'Error: ', HtmlSpecialChars($client->error);
}
Here is a simple example of getting the authorization token and making an API call to Vimeo API.
Check the complete Vimeo API PHP example here.
// Include the necessary class files directly or
// vendor/autoload.php if you used composer to install the package.
require('http.php');
require('oauth_client.php');
$client = new oauth_client_class;
$client->server = 'Vimeo';
$client->client_id = 'your application id here';
$client->client_secret = 'your application secret here';
if(($success = $client->Initialize()))
{
if(($success = $client->Process()))
{
if(strlen($client->access_token))
{
$success = $client->CallAPI(
'https://api.vimeo.com/me/?format=json',
'GET', array(), array('FailOnAccessError'=>true), $user);
}
}
$success = $client->Finalize($success);
}
if($client->exit)
exit;
if($success)
{
echo '<h1>', HtmlSpecialChars($user->name),
' you have logged in successfully with Vimeo!</h1>';
echo '<pre>', HtmlSpecialChars(print_r($user, 1)), '</pre>';
}
else
{
echo 'Error: ', HtmlSpecialChars($client->error);
}
This example retrieves the Google user contacts using the People API.
Check the complete Google Contacts API PHP example here.
// Include the necessary class files directly or
// vendor/autoload.php if you used composer to install the package.
require('http.php');
require('oauth_client.php');
$client = new oauth_client_class;
$client->server = 'Google';
$client->client_id = 'your application id here';
$client->client_secret = 'your application secret here';
$client->scope = 'https://www.googleapis.com/auth/contacts.readonly';
if(($success = $client->Initialize()))
{
if(($success = $client->Process()))
{
if(strlen($client->authorization_error))
{
$client->error = $client->authorization_error;
$success = false;
}
elseif(strlen($client->access_token))
{
$success = $client->CallAPI(
'https://people.googleapis.com/v1/people/me/connections'.
'?fields=connections(emailAddresses%2Cnames)',
'GET', array(), array('FailOnAccessError'=>true), $contacts);
}
}
$success = $client->Finalize($success);
}
if($client->exit)
exit;
if($success)
{
echo '<pre>';
foreach($contacts->connections as $contact)
{
echo htmlspecialchars($contact->names[0]->displayName), "\n";
}
echo '</pre>';
}
else
{
echo 'Error: ', HtmlSpecialChars($client->error);
}
This example retrieves the Pinterest user details using the Pinterst API.
Check the complete Pinterest API PHP example here.
require('http.php');
require('oauth_client.php');
$client = new oauth_client_class;
$client->server = 'Pinterest';
$client->client_id = 'your application id here';
$client->client_secret = 'your application secret here';
$client->scope = 'read_public';
if(($success = $client->Initialize()))
{
if(($success = $client->Process()))
{
if(strlen($client->authorization_error))
{
$client->error = $client->authorization_error;
$success = false;
}
elseif(strlen($client->access_token))
{
$success = $client->CallAPI(
'https://api.pinterest.com/v1/me/',
'GET', array(), array('FailOnAccessError'=>true), $user);
}
}
$success = $client->Finalize($success);
}
if($client->exit)
exit;
if($success)
{
echo '<h1>', HtmlSpecialChars($user->data->first_name),
' you have logged in successfully with Google!</h1>';
echo '<pre>', HtmlSpecialChars(print_r($user, 1)), '</pre>';
}
else
{
echo 'Error: ', HtmlSpecialChars($client->error);
}
Screenshots (2) | ||
Files (97) |
File | Role | Description |
---|---|---|
oauth_client.php | Class | OAuth client class |
oauth_client_class.html | Doc. | Documentation of the OAuth client class |
access_google_sheets_spreadsheet.php | Example | Google Sheets API access example script |
call_quire.php | Example | Call Quire API example script |
classmaps.php | Aux. | Class maps definition |
cookie_oauth_client.php | Class | OAuth client sub-class sor storing and retrieving tokens in encrypted |
database_oauth_client.php | Class | OAuth client sub-class for storing and retrieving tokens in databases |
enter_pin.php | Aux. | Helper script to let the user enter the authorization pin |
file_get_google_account.php | Example | Example script to demonstrate how to get a Google user profile with a OAuth token without the user presence |
file_login_with_google.php | Example | Example of logging in with Google using OAuth and storing the access token in a file |
file_oauth_client.php | Class | OAuth client sub-class for storing and retrieving tokens in files |
google_contacts_api_php_example.php | Example | Example to get the user contacts using the Google People API |
google_natural_lan...timent_analysis.php | Example | Google natural language artificial intelligence API call example script |
LICENSE | Lic. | License of the class |
list_files_in_google_drive.php | Example | Google Drive API list files example script |
login_check_with_facebook.php | Example | Example of checking if the user has authorized Facebook API access without redirecting to the authorization page |
login_with_37signals.php | Example | Example of logging in with 37Signals using OAuth |
login_with_amazon.php | Example | Example of logging in with Amazon using OAuth |
login_with_aol.php | Example | Example of logging in with AOL using OAuth |
login_with_bitbucket.php | Example | Example of logging in with Bitbucket using OAuth |
login_with_bitly.php | Example | Example of logging in Bitly using OAuth |
login_with_box.php | Example | Example of logging in with Box.net using OAuth |
login_with_buffer.php | Example | Example of logging in with Buffer using OAuth |
login_with_charter_spectrum.php | Example | Example of logging in with Facebook using CharterSpectrum |
login_with_copy.php | Example | Example of logging in with Copy using OAuth |
login_with_dailymotion.php | Example | Example of logging in with Dailymotion using OAuth |
login_with_discogs.php | Example | Example of logging in with Discogs using OAuth |
login_with_disqus.php | Example | Example of logging in with Disqus using OAuth |
login_with_dropbox.php | Example | Example of logging in with Dropbox using OAuth |
login_with_etsy.php | Example | Example of logging in with Etsy using OAuth |
login_with_eventful.php | Example | Example of logging in with Eventful using OAuth |
login_with_facebook.php | Example | Example of logging in with Facebook using OAuth |
login_with_fitbit.php | Example | Example of logging in with Fitbit using OAuth |
login_with_fitbit2.php | Example | Example of logging in with Fitbit using OAuth 2.0 |
login_with_fitnesssyncer.php | Example | Example logging in with FitnessSyncer using OAuth |
login_with_flickr.php | Example | Example of logging in with Flickr using OAuth |
login_with_foursquare.php | Example | Example of logging in with Foursquare using OAuth |
login_with_garmin.php | Example | Example of logging in with Garmin using OAuth |
login_with_github.php | Example | Example of logging in with github using OAuth |
login_with_google.php | Example | Example of logging in with Google using OAuth |
login_with_ihealth.php | Example | Example of logging in with iHealth using OAuth |
login_with_imgur.php | Example | Example of logging in with imgur using OAuth |
login_with_infusionsoft.php | Example | Example of logging in with Infusionsoft using OAuth |
login_with_instagram.php | Example | Example of logging in with Instagram using OAuth |
login_with_intuit.php | Example | Example of loggin in with Intuit (Quickbooks) using OAuth |
login_with_jawbone.php | Example | Example of logging in Jawbone using OAuth |
login_with_linkedin.php | Example | Example logging in with LinkedIn using OAuth |
login_with_linkedin2.php | Example | Example logging in with LinkedIn using OAuth 2.0 |
login_with_livecoding.php | Example | Example of logging in with Livecoding.tv |
login_with_mail.ru.php | Example | Example of logging in with mail.ru using OAuth |
login_with_mailchimp.php | Example | Example logging in with MailChimp |
login_with_mavenlink.php | Example | Example of logging in Mavenlink using OAuth |
login_with_meetup.php | Example | Example of logging in with Meetup using OAuth |
login_with_microsoft.php | Example | Example of logging in with Microsoft Hotmail or Windows Live account |
login_with_microsoft_openid_connect.php | Example | Example of logging in with Microsoft OpenID Connect |
login_with_misfit.php | Example | Example of logging in with Misfit using OAuth |
login_with_odesk.php | Example | Example of logging in oDesk using OAuth |
login_with_odnoklassniki.php | Example | Example of logging in with Odnoklassniki using OAuth |
login_with_paypal.php | Example | Example of logging in with Paypal using OAuth |
login_with_pinterest.php | Example | Example of logging in with Pinterest using OAuth |
login_with_pipedrive.php | Example | Example of logging in with Pipedrive using OAuth |
login_with_polar.php | Example | Example of logging in with Polar using OAuth |
login_with_quire.php | Example | Login with Quire example script |
login_with_rdio.php | Example | Example of logging in with Rdio using OAuth |
login_with_reddit.php | Example | Example of logging in with Reddit using OAuth |
login_with_rightsignature.php | Example | Example of logging in with RightSignature using OAuth |
login_with_runkeeper.php | Example | Example of logging in RunKeeper using OAuth |
login_with_salesforce.php | Example | Example of logging in with Salesforce using OAuth |
login_with_scoopit.php | Example | Example of logging in with Scoop.it using OAuth |
login_with_stocktwits.php | Example | Example of logging in with StockTwits using OAuth |
login_with_surveymonkey.php | Example | Example of logging in with SurveyMonkey using OAuth |
login_with_teamviewer.php | Example | Example of logging in with TeamViewer using OAuth |
login_with_tumblr.php | Example | Example of logging in with Tumblr using OAuth |
login_with_twitter.php | Example | Example of logging in with Twitter using OAuth |
login_with_twitter2.php | Example | Example of how to implement application-only access to Twitter API using OAuth 2 client_credentials grant_type |
login_with_uber.php | Example | Example of logging in with Uber using OAuth |
login_with_vimeo.php | Example | Example of logging in with Vimeo using OAuth |
login_with_vk.php | Example | Example of logging in with VK using OAuth |
login_with_withings.php | Example | Example of logging in with Withings using OAuth |
login_with_wordpress.php | Example | Example of logging in with Wordpress using OAuth |
login_with_xero.php | Example | Example of logging in with Xero using OAuth |
login_with_xing.php | Example | Example of logging in with XING using OAuth |
login_with_yahoo.php | Example | Example of logging in with Yahoo using OAuth |
login_with_yammer.php | Example | Example of logging in with Yammer using OAuth |
login_with_yandex.php | Example | Example of logging in with Yandex using OAuth |
logout_from_google.php | Example | Example of logging out from Google using OAuth |
mysqli_login_with_google.php | Example | Example of logging in with Google using OAuth and storing the access token in a MySQL database |
mysqli_login_with_twitter.php | Example | Example of logging in with Twitter using OAuth and storing the access token in a MySQL database |
mysqli_oauth_client.php | Class | OAuth client sub-class for storing and retrieving tokens in a MySQL database using the mysqli extension |
mysqli_offline_access_to_google.php | Class | Example of accessing the Google API offline using a OAuth token stored in a MySQL database |
mysqli_offline_access_to_twitter.php | Example | Example accessing the Twitter API offline using a OAuth token stored in a MySQL database |
oauth.sql | Data | MySQL queries to install the oauth_session table |
oauth_configuration.json | Data | External configuration of OAuth |
README.md | Doc. | Basic instructions about this PHP OAuth API client package |
test_oauth_client.php | Example | Example of using the OAuth client |
The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page. |
Install with Composer |
oauth-api-2024-11-09.zip 211KB | |
oauth-api-2024-11-09.tar.gz 140KB | |
Install with Composer |
Needed packages | ||
Class | Download | Why it is needed | Dependency |
---|---|---|---|
PHP HTTP protocol client | .zip .tar.gz | Send HTTP request to OAuth servers | Required |
Version Control | Reuses | Unique User Downloads | Download Rankings | ||||||||||||||||
96% | 3 |
|
|
Applications that use this package |
If you know an application of this package, send a message to the author to add a link here.
Other classes that need this package |
Class | Why it is needed | Dependency |
---|---|---|
MIME E-mail message sending | This package is necessary to obtain the OAuth token that is required by some SMTP servers that support the XOAUTH2 authentication mechanism. | Conditional |
PHP Twitter Feed | Needed to obtain Twitter access tokens and call its API | Required |
PHP Webmaster Tools API | Authorize the access to the Webmaster Tools API on behalf of a given user | Required |