Ну ваша проблема вирішується ще легше
В любому вашому 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);
    }