krupni / yii-eoauth
Yii Framework Extension. EOAuthUserIdentity class implements IUserIdentity Yii interface and the OAuth protocol to authenticate a user. Based on Google's software.
Installs: 13 904
Dependents: 1
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
This package is not auto-updated.
Last update: 2024-11-02 19:55:23 UTC
README
This repository is restored itmages/yii-eoauth
Install package
composer require krupni/yii-eoauth
Introduction
EOAuthUserIdentity class implements IUserIdentity Yii interface and the OAuth protocol to authenticate a user.
Based on Google's software.
###Resources
- OAuth
- InDaHouseRulez SL
- Google API DFP PHP Example web application This link is currently broken, here is a working link
##Documentation
###Requirements
- Yii 1.0 or above
###Installation
- Extract the release file under
protected/extensions/eoauth
###Usage
Use this sample actions for login/logout with Google:
public function actionLogin() { Yii::import('ext.eoauth.*'); $ui = new EOAuthUserIdentity( array( //Set the "scope" to the service you want to use 'scope'=>'https://sandbox.google.com/apis/ads/publisher/', 'provider'=>array( 'request'=>'https://www.google.com/accounts/OAuthGetRequestToken', 'authorize'=>'https://www.google.com/accounts/OAuthAuthorizeToken', 'access'=>'https://www.google.com/accounts/OAuthGetAccessToken', ) ) ); if ($ui->authenticate()) { $user=Yii::app()->user; $user->login($ui); $this->redirect($user->returnUrl); } else throw new CHttpException(401, $ui->error); } public function actionLogout() { Yii::app()->user->logout(); // Redirect to application home page. $this->redirect(Yii::app()->homeUrl); }
Set to load the extensions in the main.php (by DavidHHuan, thanx!)
'import'=>array( 'application.models.*', 'application.components.*', 'ext.eoauth.*', 'ext.eoauth.lib.*', ),
License
Some time ago I developed this extension for InDaHouseRulez SL. I no longer work there, but I still support the extension.
The extension was released under the MIT license, so I made a fork on GitHub, where you'll find the latest version: