stanislav-web/phalcon-ulogin

This package is not installable via Composer 1.x, please make sure you upgrade to Composer 2+. Read more about our Composer 1.x deprecation policy.

Phalcon ULogin. The authorization form uLogin through social networks

v1.0-stable 2014-12-27 12:14 UTC

This package is not auto-updated.

Last update: 2021-10-11 12:43:07 UTC


README

Build Status Code Coverage Scrutinizer Code Quality Total Downloads License Latest Stable Version

Phalcon ULogin. The authorization form uLogin through social networks

ULogin

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:

"require": {
    "stanislav-web/phalcon-ulogin": "1.0-stable"
}
php composer.phar install

OR

php composer.phar require stanislav-web/phalcon-ulogin dev-master

(Do not forget to include the composer autoloader)

Or manual require in your loader service

    $loader->registerNamespaces([
        'ULogin\Auth' => 'path to src'
    ]);

You can create an injectable service

    $this->di['ulogin'] = function() {
        return new ULogin\Auth();
    };

Usage

simple use (get socials as default)

    use ULogin\Auth;
    
    echo (new Auth())->getForm();

setup social widget

    echo (new Auth())->setType('window')->getForm(); // window, panel, small as default

setup providers for widget form

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

php build/phpunit.phar --configuration phpunit.xml.dist --coverage-text

Read logs from phpunit/log

##Issues

Screen

ULogin