public function verifyServerNonce($snonce, $ip_address = '127.0.0.1')
    {
        $snonce_cache_key = 'snonce__'.$snonce;

        if (empty($this->cache)) {
            return;
        }

        $snonce_data = $this->cache->get($snonce_cache_key);
        if (empty($snonce_data)) {
            throw new NonceException('That nonce has been not been generated');
        }
        if ($snonce_data !== $ip_address) {
            throw new NonceException('That nonce has been used elsewhere');
        }

        $this->cache->add($snonce_cache_key, 'USED');
    }