Phalcon ULogin
, (*1)
Phalcon ULogin. The authorization form uLogin through social networks, (*2)
, (*3)
Compatible
- PSR-0, PSR-1, PSR-2, PSR-4 Standards
System requirements
- PHP 5.4.x >
- Phalcon extension 1.3.x
- \Phalcon\Session in DI
Install
First update your dependencies through composer. Add to your composer.json:, (*4)
"require": {
"stanislav-web/phalcon-ulogin": "1.0-stable"
}
```python
php composer.phar install, (*5)
OR
```python
php composer.phar require stanislav-web/phalcon-ulogin dev-master
(Do not forget to include the composer autoloader), (*6)
Or manual require in your loader service, (*7)
$loader->registerNamespaces([
'ULogin\Auth' => 'path to src'
]);
You can create an injectable service, (*8)
$this->di['ulogin'] = function() {
return new ULogin\Auth();
};
Usage
simple use (get socials as default)
use ULogin\Auth;
echo (new Auth())->getForm();
echo (new Auth())->setType('window')->getForm(); // window, panel, small as default
echo (new Auth())->setProviders([
'vkontakte' => true, // show inline
'odnoklassniki' => true, // show inline
'facebook' => false, // show in drop down
'google' => false, // show in drop down
'yandex' => true, // show inline
])->setType('panel')->getForm();
or setup providers as string
echo (new Auth())->setProviders('vkontakte=true,odnoklassniki=true,facebook=false,google=false,yandex=true')->setType('panel')->getForm();
setup redirect url (current path using as default)
echo (new Auth())->setType('panel')->setUrl('?success')->getForm();
setup user fields getting from auth (optionals fields setup similary. Use setOptional())
echo (new Auth())->setFields([
'first_name',
'last_name',
'photo',
'city'
])->getForm();
or setup fields as string
echo (new Auth())->setFields('first_name,last_name,photo,city')->getForm();
alternate configuration
$ulogin = new Auth(array(
'fields' => 'first_name,last_name,photo,city',
'providers' => 'vk=true,mailru=false,linkedin=false',
'url' => '/auth/?success',
'type' => 'window'
));
echo $ulogin->getForm();
get auth data
$ulogin = new Auth();
// print form
echo $ulogin->setUrl('?success')->getForm();
// handler
$request = new \Phalcon\Http\Request();
if($request->hasQuery('success') === true) {
// check authorization
if($ulogin->isAuthorised()) {
// get auth token
echo $ulogin->getToken();
// get auth user data
var_dump($ulogin->getUser());
// logout
$ulogin->logout();
}
}
Unit Test
Also available in /phpunit directory. Run command to start, (*9)
php build/phpunit.phar --configuration phpunit.xml.dist --coverage-text
Read logs from phpunit/log, (*10)
Screen
, (*11)