Request-Promise使用async / await抛出“no auth mechanisms defined”

我只是尝试asynchronous/等待request-promise并遇到这个错误:

 RequestError: Error: no auth mechanism defined at new RequestError (node_modules/request-promise-core/lib/errors.js:14:15) at Request.plumbing.callback (node_modules/request-promise-core/lib/plumbing.js:87:29) at Request.RP$callback [as _callback] (node_modules/request-promise-core/lib/plumbing.js:46:31) at self.callback (node_modules/request/request.js:188:22) at Auth.onRequest (node_modules/request/lib/auth.js:133:18) at Request.auth (node_modules/request/request.js:1360:14) at Context.<anonymous> (test/routes.js:37:41) From previous event: at Request.plumbing.init (node_modules/request-promise-core/lib/plumbing.js:36:28) at Request.RP$initInterceptor [as init] (node_modules/request-promise-core/configure/request2.js:41:27) at new Request (node_modules/request/request.js:130:8) at request (node_modules/request/index.js:54:10) at Context.<anonymous> (test/routes.js:37:24) 

这是我最近build立的API端点,它应该在MongoDB中创build一个新的用户。 它使用Passport策略提供的基本身份validation,并且使用Postmantesting了它的工作原理。 我不确定为什么这个错误被抛出。

我的请求代码(使用摩卡):

 it("creates a new user", async () => { const options = { method: "POST", uri: `http://localhost:${process.env.PORT}/api/users`, headers: { "User-Agent": "Request-Promise", "Content-Type": "application/json" }, body: { email: "test@domain.com", password: "password", firstName: "John", lastName: "Smith" }, json: true }; const resp = await request(options).auth(APP_ID, SIGNATURE, false); expect(resp).to.be.an("object"); }); 

编辑:我也许应该补充说,我正在使用节点8.2.1和npm 5.3.0。

这通常是由于没有提供合适的证书。 引发错误的代码可以在这里find。 你有没有validationAPP_IDSIGNATURE在你的testing中没有undefined