Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/opauth/opauth
Multi-provider authentication framework for PHP
https://github.com/opauth/opauth
Last synced: 7 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 (almost 13 years ago)
- Default Branch: master
- Last Pushed: 2020-05-15T17:34:12.000Z (over 4 years ago)
- Last Synced: 2024-11-28T14:00:35.158Z (14 days ago)
- Language: PHP
- Homepage: http://opauth.org
- Size: 534 KB
- Stars: 1,651
- Watchers: 112
- Forks: 242
- 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](https://github.com/opauth/opauth.github.io/raw/master/images/opauth-logo-300px-transparent.png)
=================================
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
[![Build Status](https://secure.travis-ci.org/opauth/opauth.png?branch=master)](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).