Opauth is a multi-provider authentication framework for PHP, inspired by OmniAuth for Ruby.
Opauth enables PHP applications to do user authentication with ease.
Try out Opauth for yourself at http://opauth.org
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 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 (of course)
- CakePHP (maintained by uzyn)
- CodeIgniter (maintained by destinomultimedia)
- CodeIgniter (maintained by mcatm)
- Yii Framework (maintained by kahwee)
- 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).
Guide on how to run the bundled example.
DocumentRootof your web server to
(Opauth can be instantiated in your own PHP app, but we will leave that out of this quick start guide)
cp example/opauth.conf.php.default example/opauth.conf.php
and make the necessary changes.
Place the strategy files in
For example, for Opauth-Facebook, place the downloaded files at
Send user to
Check out the wiki for more in-depth details, especially on how to use Opauth with your own PHP application.
A strategy is a set of instructions that interfaces with respective authentication providers and relays it back to Opauth.
Generic strategy: OAuth
PHP 5 (>= 5.2)
Opauth needs your contributions, especially the following:
Refer to wiki for contribution guide and inform us when your work is ready.
Plugins for more PHP frameworks and CMSes
eg. CodeIgniter, Symfony, WordPress, Drupal, etc.
Guides & tutorials
On how to implement Opauth on CakePHP app, etc.
Coverage is only average at the moment.
- Issues: Github Issues
- Discussion group: Google Groups
- Twitter: @uzyn
- Email me: firstname.lastname@example.org
- IRC: #opauth on Freenode
Used Opauth in your project? Let us know!
clientGet()for OpauthStrategy class.
- 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.
- Opauth is now Composer compatible and listed on Packagist
- Opauth now supports autoloaders
- If a strategy is not autoloaded, Opauth falls back and searches for it at
strategy_dirdefined 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.
- Initial release
The MIT License
Copyright © 2012 U-Zyn Chua (http://uzyn.com)