Use the HybridAuth-Library to create an absolute lightweight Authentication-Layer for your ZendFramework2-App
You can login with all supported SocialNetwork-Logins. The network and a user-object holding id, name, mail and language will be stored in the session. If you already have SocialNetwork users in your application you can use these to authorize your users.
- The hybridAuth-library
- Zend Framework2 (well, obvious, isn't it?)
-
In your application.conf-file add the Module to the list of modules
-
Copy the file
vendor/org_heigl/hybridauth/config/autoload/module-orgHeiglHybridAuth.local.php
to your applicationsconfig/autoload
-directory and adapt as appropriate. -
Add this snippet to create a login-link
<?php echo $this->orgheiglhybridauth(); ?>
-
After login you can access the user-info the following way:
// The name of the session-container can be changed in the config file! $container = new \Zend\Session\Container('orgheiglhybridauth'); if (! $container->getOffset('authenticated')) { echo 'No user logged in'; } /** @var OrgHeiglHybridAuth\UserInterface $user */ $user = $container->getOffset('user'); echo $user->getName(); // The name of the logged in user echo $user->getUID(); // The internal UID of the used service echo $user->getMail(); // The mail-address the service provides echo $user->getLanguage(); // The language the service provides for the user $service = $container->getOffset('backend'); echo $service->id // Should print out the Name of the service provider.
This module is best installed using composer. For that, add the
following line to the require
-section of your composer.json
-file and run composer.
"org_heigl/hybridauth": "dev-master"
Alternatively you can fork the project at github.