| Recommend this page to a friend! |
| Info | Example | Reputation | Support forum | Blog | Links |
| Last Updated | Ratings | Unique User Downloads | Download Rankings | |||||
| 2025-05-08 (-2 hours ago) | Not enough user ratings | Total: 454 | All time: 6,147 This week: 47 | |||||
| Version | License | PHP version | Categories | |||
| ohmy-auth 0.0.17 | BSD License | 5.3 | PHP 5, User Management, Web services |
| Description | Author | ||||||||||||||||||||||
This package can Obtain authorization to access APIs using OAuth. |
| ||||||||||||||||||||||
<?php require_once __DIR__ . '/../vendor/autoload.php'; |

ohmy-auth (Oma) is a PHP library that simplifies OAuth into a fluent interface:
use ohmy\Auth1;
Auth1::legs(2)
->set('key', 'key')
->set('secret', 'secret')
->request('http://term.ie/oauth/example/request_token.php')
->access('http://term.ie/oauth/example/access_token.php')
->GET('http://term.ie/oauth/example/echo_api.php')
->then(function($data) {
# got data
});
Oma only requires PHP (>= 5.3) and the usual extensions for Curl (`curl_init()`, `curl_setopt()`, etc), JSON (`json_encode()`, `json_decode()`) and sessions (`session_start()`, `session_destroy()`).
The best way to install Oma is via Composer. Just add `ohmy/auth` to your project's `composer.json` and run `composer install`. eg:
{
"require": {
"ohmy/auth": "*"
}
}
If you prefer not to use Composer, you can download an archive or clone this repo and put `src/ohmy` into your project setup.
use ohmy\Auth1;
# do 2-legged oauth
$termie = Auth1::legs(2)
# configuration
->set('key', 'key')
->set('secret', 'secret')
# oauth flow
->request('http://term.ie/oauth/example/request_token.php')
->access('http://term.ie/oauth/example/access_token.php');
# api call
$termie->GET('http://term.ie/oauth/example/echo_api.php')
->then(function($data) {
# got data
});
Note: This requires sessions in order to save data between redirects. This will not work properly without sessions!
use ohmy\Auth1;
# do 3-legged oauth
$tumblr = Auth1::legs(3)
# configuration
->set(array(
'consumer_key' => 'your_consumer_key',
'consumer_secret' => 'your_consumer_secret',
'callback' => 'your_callback_url'
))
# oauth flow
->request('http://www.tumblr.com/oauth/request_token')
->authorize('http://www.tumblr.com/oauth/authorize')
->access('http://www.tumblr.com/oauth/access_token');
# access tumblr api
$tumblr->GET('https://api.tumblr.com/v2/user/info')
->then(function($data) {
# got user data
});
use ohmy\Auth2;
# do 3-legged oauth
$github = Auth2::legs(3)
# configuration
->set(array(
'id' => 'your_github_client_id',
'secret' => 'your_github_client_secret',
'redirect' => 'your_redirect_uri'
))
# oauth flow
->authorize('https://github.com/login/oauth/authorize')
->access('https://github.com/login/oauth/access_token')
->finally(function($data) use(&$access_token) {
$access_token = $data['access_token'];
});
# access github api
$github->GET("https://api.github.com/user?access_token=$access_token", null, array('User-Agent' => 'ohmy-auth'))
->then(function($data) {
# got user data
});
- Facebook - Fitbit - GitHub - Google+ - Instagram - LinkedIn - Live - Tumblr - Twitter - Yahoo
- __PHP license__: PHP License - __ohmy-auth__: New BSD License.
| File | Role | Description | ||
|---|---|---|---|---|
| Data | Auxiliary data | |||
| Lic. | Auxiliary data | |||
| Data | Auxiliary data | |||
| Doc. | Auxiliary data | |||
| / | examples |
| File | Role | Description |
|---|---|---|
| |
Example | Example script |
| |
Example | Example script |
| |
Example | Example script |
| |
Example | Example script |
| |
Example | Example script |
| |
Example | Example script |
| |
Example | Example script |
| |
Example | Example script |
| |
Example | Example script |
| |
Example | Example script |
| |
Example | Example script |
| / | src | / | ohmy |
| / | src | / | ohmy | / | Auth |
| File | Role | Description |
|---|---|---|
| |
Class | Class source |
| |
Class | Class source |
| / | src | / | ohmy | / | Auth1 |
| File | Role | Description | ||
|---|---|---|---|---|
| |
Class | Class source | ||
| / | src | / | ohmy | / | Auth1 | / | Flow |
| File | Role | Description | ||
|---|---|---|---|---|
| |
Class | Class source | ||
| |
Class | Class source | ||
| / | src | / | ohmy | / | Auth1 | / | Flow | / | ThreeLegged |
| File | Role | Description |
|---|---|---|
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| / | src | / | ohmy | / | Auth1 | / | Flow | / | TwoLegged |
| File | Role | Description |
|---|---|---|
| |
Class | Class source |
| |
Class | Class source |
| / | src | / | ohmy | / | Auth2 |
| File | Role | Description | ||
|---|---|---|---|---|
| |
Class | Class source | ||
| / | src | / | ohmy | / | Auth2 | / | Flow |
| File | Role | Description | ||
|---|---|---|---|---|
| |
Class | Class source | ||
| / | src | / | ohmy | / | Auth2 | / | Flow | / | ThreeLegged |
| File | Role | Description |
|---|---|---|
| |
Class | Class source |
| |
Class | Class source |
| / | src | / | ohmy | / | Components |
| File | Role | Description | ||
|---|---|---|---|---|
| |
Class | Class source | ||
| |
Class | Class source | ||
| / | src | / | ohmy | / | Components | / | Http | / | Curl |
| File | Role | Description |
|---|---|---|
| |
Class | Class source |
| |
Class | Class source |
| / | src | / | ohmy | / | Components | / | Session |
| File | Role | Description |
|---|---|---|
| |
Class | Class source |
| / | tests |
| File | Role | Description |
|---|---|---|
| |
Test | Unit test script |
| |
Test | Unit test script |
| |
Aux. | Unit test script |
| |
Test | Unit test script |
| |
Test | Unit test script |
| / | vendor | / | composer |
| File | Role | Description |
|---|---|---|
| |
Aux. | Auxiliary script |
| |
Aux. | Auxiliary script |
| |
Aux. | Auxiliary script |
| |
Class | Auxiliary script |
| |
Class | Auxiliary script |
| The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page. |
| Version Control | Unique User Downloads | Download Rankings | |||||||||||||||
| 100% |
|
|
| Applications that use this package |
If you know an application of this package, send a message to the author to add a link here.
| Related pages |
| Homepage |
| GitHub repository |