public function attempt(Token $token, $prefix = Request::PREFIX)
    {
        $auth = $this->getAuthParams($prefix);
        $body = $this->getBodyParams($prefix);

        $request   = new Request($this->method, $this->uri, $body, $auth[$prefix . 'timestamp']);
        $signature = $request->sign($token, $prefix);

        foreach ($this->guards as $guard) {
            $guard->check($auth, $signature, $prefix);
        }

        return true;
    }