btafoya / ohmy-auth
OAuth so easy.. you won't even believe it's OAuth
0.0.8
2015-02-13 09:19 UTC
Requires
- php: >=5.3.0
README
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 });
Dependencies
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()
).
Installing with Composer
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": { "btafoya/ohmy-auth": "*" } }
Installing manually
If you prefer not to use Composer, you can download an archive or clone this repo and put src/ohmy
into your project setup.
Two-Legged OAuth 1.0a
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 });
Three-Legged OAuth 1.0a
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 });
Three-Legged OAuth 2.0
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 });
More examples
Licenses
- PHP license: PHP License
- ohmy-auth: New BSD License.