https://github.com/opauth/opauth
Multi-provider authentication framework for PHP
https://github.com/opauth/opauth
Last synced: 26 days ago
JSON representation
Multi-provider authentication framework for PHP
- Host: GitHub
- URL: https://github.com/opauth/opauth
- Owner: opauth
- License: mit
- Created: 2012-03-07T15:03:11.000Z (about 13 years ago)
- Default Branch: master
- Last Pushed: 2020-05-15T17:34:12.000Z (almost 5 years ago)
- Last Synced: 2025-04-12T03:44:42.601Z (26 days ago)
- Language: PHP
- Homepage: http://opauth.org
- Size: 534 KB
- Stars: 1,645
- Watchers: 111
- Forks: 239
- Open Issues: 34
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
- awesome-php - Opauth - A multi-provider authentication framework. (Table of Contents / Authentication and Authorization)
- awesome-php-cn - Opauth - multi-provider认证框架. (目录 / 身份验证和授权 Authentication and Authorization)
- awesome-projects - Opauth - A multi-provider authentication framework. (PHP / Authentication and Authorization)
- php-awesome - Opauth
- awesome-php - Opauth - A multi-provider authentication framework. (Table of Contents / Authentication and Authorization)
README

=================================
Opauth is a multi-provider authentication framework for PHP, inspired by [OmniAuth for Ruby](https://github.com/intridea/omniauth).Opauth enables PHP applications to do *user authentication* with ease.
Try out Opauth for yourself at http://opauth.org
[](http://travis-ci.org/opauth/opauth)
What is Opauth?
---------------
Opauth provides a standardized method for PHP applications to interface with authentication providers.Opauth as a framework provides a set of API that allows developers to [create strategies](https://github.com/opauth/opauth/wiki/Strategy-Contribution-Guide) that work in a predictable manner across PHP frameworks and applications.
Opauth works well with other PHP applications & frameworks. It is currently supported on:
- [vanilla (plain) PHP applications](https://github.com/opauth/opauth/tree/master/example)
- [CakePHP](https://github.com/uzyn/cakephp-opauth) (maintained by [uzyn](https://github.com/uzyn))
- [CodeIgniter](https://github.com/destinomultimedia/ci_opauth) (maintained by [destinomultimedia](https://github.com/destinomultimedia))
- [CodeIgniter](https://github.com/mcatm/Opauth-Plugin-for-Codeigniter) (maintained by [mcatm](https://github.com/mcatm))
- [FuelPHP](https://github.com/andreoav/fuel-opauth) (maintained by [andreoav](https://github.com/andreoav/))
- [Laravel](https://github.com/FakeHeal/opauth-laravel) (maintained by [FakeHeal](https://github.com/FakeHeal/))
- [PrestaShop](https://github.com/Onasusweb/PrestaShop-Opauth) (maintained by [Onasusweb](https://github.com/Onasusweb))
- [Silex](https://github.com/icehero/silex-opauth) (maintained by [icehero](https://github.com/icehero/))
- [SilverStripe](https://github.com/BetterBrief/silverstripe-opauth) (maintained by [Better Brief](https://github.com/BetterBrief))
- [Zend Framework 2](https://github.com/lorenzoferrarajr/LfjOpauth) (maintained by [lorenzoferrarajr](https://github.com/lorenzoferrarajr))
- and more to come.If your PHP framework of choice is not yet listed, you can still use Opauth like you would a normal PHP component (class).
Quick start
-----------
Guide on how to run the bundled example.1. Set `DocumentRoot` of your web server to `example/`.
(Opauth can be instantiated in your own PHP app, but we will leave that out of this quick start guide)2. Configure Opauth.
First, make a copy of opauth config's file by copying or renaming
`opauth.conf.php.default` to `opauth.conf.php`.Open up `opauth.conf.php` and make the necessary changes.
3. Install some [Opauth strategies](https://github.com/opauth/opauth/wiki/List-of-strategies).
Place the strategy files in `lib/Opauth/Strategy/`.For this example, we recommend that you start with [Opauth-Facebook](https://github.com/opauth/facebook):
i. [Download the strategy files](https://github.com/opauth/facebook/zipball/master) and place them at `lib/Opauth/Strategy/Facebook/`.
ii. Follow the steps at [Opauth-Facebook's README](https://github.com/opauth/facebook/blob/master/README.md) to set up your Faceobok app.
iii. Add the following at `opauth.conf.php` under `Strategy` as such:
```php
array(
// Define strategies here.'Facebook' => array(
'app_id' => 'YOUR APP ID',
'app_secret' => 'YOUR APP SECRET'
),
);
```Finally, send user to `http://localhost/facebook` to authenticate.
Check out [the wiki](https://github.com/opauth/opauth/wiki) for more in-depth details, especially on how to use Opauth with your own PHP application.
Available strategies
--------------------
A strategy is a set of instructions that interfaces with respective authentication providers and relays it back to Opauth.Provider-specific:
Strategy
Maintained by
![]()
Bitbucket
fancyguy
![]()
Disqus
rasa
![]()
Do
arbales
![]()
uzyn
![]()
Flickr
pocket7878
![]()
Foursquare
pocket7878
![]()
GitHub
uzyn
![]()
uzyn
![]()
muhdazrain
![]()
uzyn
![]()
(Windows) Live
uzyn
![]()
mixi
ritou
![]()
OpenID
uzyn
![]()
PayPal
24hours
![]()
Sina Weibo (新浪微博)
dgrabla
![]()
uzyn
![]()
Vimeo
LubosRemplik
![]()
VKontakte
dgrabla
![]()
Yahoo! Japan (YConnect)
ritou
![]()
LINE
Yuzuru SuzukiGeneric strategy: [OAuth](https://github.com/opauth/oauth)
See [wiki's list of strategies](https://github.com/opauth/opauth/wiki/List-of-strategies) for an updated list of Opauth strategies or to make requests.
Refer also to [strategy contribution guide](https://github.com/opauth/opauth/wiki/Strategy-contribution-guide) if you would like to contribute a strategy.Requirements
-------------
PHP 5 (>= 5.2)
with [`allow_url_fopen`](http://php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen) enabledContribute
----------
Opauth needs your contributions, especially the following:- More strategies
Refer to [wiki](https://github.com/opauth/opauth/wiki) for contribution guide and inform us when your work is ready.- Plugins for more PHP frameworks and CMSes
eg. Symfony, Laravel, WordPress, Drupal, etc.- Guides & tutorials
On how to implement Opauth on CakePHP app, etc.Issues & questions
-------------------
- Discussion group: [Google Groups](https://groups.google.com/group/opauth)
_Primary channel for support, especially usage questions._
- Issues: [Github Issues](https://github.com/opauth/opauth/issues)
- Twitter: [@uzyn](http://twitter.com/uzyn)
- Email me: [email protected]
- IRC: **#opauth** on [Freenode](http://webchat.freenode.net/?channels=opauth&uio=d4)Used Opauth in your project? Let us know!
Changelog
---------
####v0.4.5 _(25 Feb 2018)_
- Fixed a Security Incident for unsafe serialize/unserialize. _(thanks @YuzuruS #124)_####v0.4.4 _(10 May 2013)_
- Added HTTP User-Agent header. _(thanks @rkaldung #41)_####v0.4.3 _(10 January 2013)_
- Fixed a `serverPost()` bug where user-supplied options were not applied correctly. _(thanks @ritou #26)_####v0.4.2 _(28 August 2012)_
- Fix session to check for `session_id()` instead of `$_SESSION` _(thanks @sirikkoster #20)_####v0.4.1 _(22 July 2012)_
- Not starting session if session is already started. _(thanks @Claymm)_
- Fixed incorrect error message. _(thanks @Claymm)_
- Removed `@` for `file_get_contents`. _(thanks @Takehiro-Adachi)_####v0.4.0 _(10 June 2012)_
- `mapProfile()` and `clientGet()` for OpauthStrategy class.####v0.3.0 _(30 May 2012)_
- Some unit testing
- More consistent naming of Strategy's internal properties
- Smarter loading of strategy, able to make a few guesses on where the class file might be at.####v0.2.0 _(23 May 2012)_
- Opauth is now Composer compatible and listed on [Packagist](http://packagist.org/packages/opauth/opauth)
- Opauth now supports autoloaders
- If a strategy is not autoloaded, Opauth falls back and searches for it at `strategy_dir` defined in config.
- Class name for strategy Foo should now be FooStrategy instead of Foo.
- This is to reduce the likelihood of class name collision due to Opauth not requiring the use of namespace.
- v0.1.0-type class name, ie. Foo, still works, but is now deprecated.####v0.1.0 _(22 May 2012)_
- Initial releaseLicense
---------
The MIT License
Copyright © 2012-2013 U-Zyn Chua (http://uzyn.com)Consultation
---------
U-Zyn Chua is a Principal Consultant at [Zynesis Consulting](http://zynesis.com).