Ну ваша проблема вирішується ще легше
В любому вашому Module.php
public function onBootstrap(MvcEvent $e)
{
// This method is called once the MVC bootstrapping is complete
$services = $e->getApplication()->getServiceManager();
$module = $this;
// Post register actions
$services->get('zfcuser_user_service')
->getEventManager()
->attach('register.post', function($evt) use($e, $module) {
$module->postRegister($evt, $e);
});
$services->get('ScnSocialAuth\Authentication\Adapter\HybridAuth')
->getEventManager()
->attach('registerViaProvider', function($evt) use($e, $module) {
$module->postRegister($evt, $e);
});
}
І тому postRegister прописуєте ролі і все що треба
public function postRegister($evt, $e)
{
$application = $e->getApplication();
// Create a role for this new user
$user = $evt->getParam('user');
$updateQuery = "INSERT INTO `UserToRole` (`user_id` , `role_id`) VALUES (" . $user->getId() . " , '2');";
$em->getConnection()->executeUpdate($updateQuery);
}