Yii2 Megaplan Auth Client
Provides ability to auth users using Megaplan Auth API
Specification can be found there., (*1)
Installation
The preferred way to install this extension is through composer., (*2)
Either run, (*3)
php composer.phar require --prefer-dist leammas/yii2-megaplanauth "*"
or add, (*4)
"leammas/yii2-megaplanauth": "*"
to the require section of your composer.json file., (*5)
Requirements
- Yii2
- PHP 5.4+
- Curl and php-curl installed
Usage
Once the extension is installed, use it as application component :, (*6)
'components' => [
...
'mpauth' => [
'class' => 'leammas\yii2\megaplanauth\Megaplanauth',
'url' => 'http://some.url',
'timeout' => 10
],
...
The main method authenticate accepts two parameters username and password.
Use it somewhere in your form or user model validation.
It will return array with user data if succeed or throw MPAuthException with error message., (*7)
/**
* @param $password
* @return bool
*/
public function validatePassword($password)
{
try
{
$success = Yii::$app->mpauth->authenticate($this->username, $password);
// if you don't use Megaplan user id's or employee id's, just replace it with `return true;`
return $success['EmployeeId'] == $this->id;
}
catch(MPAuthException $e)
{
Yii::trace('MPAuth Fail: ' . $e->getMessage());
return false;
}
}