docs: function verify(token, privateKey, audience) {
          var deferred = Q.defer();
          var options = { ignoreExpiration: true, audience: audience };
  
          // no token so return nothing
          if (!token) {
              return new Q();
          }
  
          jsonwebtoken.verify(token, privateKey, options, function (err, decodedToken) {
              err ? deferred.reject(err) : deferred.resolve(decodedToken);
          });
  
          return deferred.promise;
      }