Je viens d'essayer async/wait avec request-promise
et ai rencontré cette erreur:
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)
C’est un noeud final d’API que j’ai récemment construit et qui est censé créer un nouvel utilisateur dans MongoDB. Il utilise l’authentification de base fournie par la stratégie Passport, et j’ai testé avec Postman que cela fonctionne. Je ne sais pas exactement pourquoi cette erreur est générée.
Mon code de demande (en moka):
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: "[email protected]",
password: "password",
firstName: "John",
lastName: "Smith"
},
json: true
};
const resp = await request(options).auth(APP_ID, SIGNATURE, false);
expect(resp).to.be.an("object");
});
Edit: J'ajouterais probablement que j'utilise les nœuds 8.2.1 et 5.3.0 de npm.
Résolu pour moi en changeant de:
auth: { Bearer: token }
à:
auth: { bearer: token }
Pas la différence de cas sur 'porteur'.
Ceci est généralement causé par le fait de ne pas fournir d'informations d'identification appropriées. Le code qui génère l'erreur peut être trouvé ici . Avez-vous vérifié que APP_ID
et SIGNATURE
ne sont pas undefined
dans votre test?