public function verifyCredentials(AuthListener $listener, AreaContract $area, array $input)
    {
        $provider   = $this->service->getEnabledInArea($area);
        $userConfig = $this->userConfigService->getSettingsByArea($area);

        if (!$provider->getProviderGateway()->isVerified($userConfig, $input)) {
            return $listener->verifyFailed();
        }
        $this->userConfigService->setAsConfigured($userConfig);
        $this->service->getAuthStore()->verify();
        return $listener->authenticate($area);
    }