Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

317
Views
La aplicación FaunaDB devuelve 401 pero las credenciales están bien

Quería probar FaunaDB, así que hice una aplicación NodeJS. Seguí un tutorial que hizo una aplicación como twitter. Sin embargo, cuando intento acceder a la base de datos, recibo un mensaje 403 no autorizado. Revisé mis claves de seguridad, pero sigo recibiendo el mismo error. Cualquier ayuda sería apreciada.

Archivo .env:

 KEY=randomString PORT=5000

índice.js:

 require("dotenv").config(); const app = require("express")(); const faunadb = require("faunadb"); const client = new faunadb.Client({ secret: process.env.KEY, }); const { Paginate, Get, Select, Match, Index, Create, Collection, Lambda, Var, Join, Ref, } = faunadb.query; app.listen(5000, () => console.log(`API on http://localhost:${process.env.PORT}`)); app.get("/tweet/:id", async (req, res) => { try { const doc = await client.query( Get( Ref( Collection("tweets"), req.params.id ) ) ) res.send(doc); } catch (err) { res.send(err) } });

Mensaje de error:

 HTTP/1.1 200 OK X-Powered-By: Express Content-Type: application/json; charset=utf-8 Content-Length: 853 ETag: W/"355-EPYXYAwyDrJxa8vWUbY5JYPY+pw" Date: Thu, 22 Jul 2021 11:12:16 GMT Connection: close { "name": "Unauthorized", "message": "unauthorized", "description": "Unauthorized", "requestResult": { "method": "POST", "path": "", "query": null, "requestRaw": "{\"create\":{\"collection\":\"test\"},\"params\":{\"object\":{\"data\":{\"object\":{\"testField\":\"testValue\"}}}}}", "requestContent": { "create": { "collection": "test" }, "params": { "object": { "data": { "object": { "testField": "testValue" } } } } }, "responseRaw": "{\"errors\":[{\"code\":\"unauthorized\",\"description\":\"Unauthorized\"}]}", "responseContent": { "errors": [ { "code": "unauthorized", "description": "Unauthorized" } ] }, "statusCode": 401, "responseHeaders": { ":status": 401, "www-authenticate": "Basic realm=\"Unauthorized\"", "x-txn-time": "1626952335964976", "x-faunadb-build": "070821.200951-e596d0a", "content-length": "65", "content-type": "application/json;charset=utf-8" }, "startTime": 1626952335231, "endTime": 1626952336270 } }
over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Instanciando al cliente de esta manera:

 const client = new faunadb.Client({ secret: process.env.KEY, });

está aplicando algunos parámetros predeterminados, como si escribiera su código de esta manera (estoy especificando solo los más importantes):

 const client = new faunadb.Client({ secret: process.env.KEY, domain: 'db.fauna.com', scheme: 'https', });

En caso de que esté utilizando el grupo de regiones de EE. UU., el grupo de regiones de la UE o el entorno de vista previa, el dominio predeterminado "db.fauna.com" no funcionará para usted.

Por lo tanto, debe proporcionar un parámetro de dominio explícitamente en el constructor.

Para el grupo de la región de EE. UU.:

 const client = new faunadb.Client({ secret: process.env.KEY, domain: 'db.us.fauna.com', scheme: 'https', });

Para el grupo de regiones de la UE:

 const client = new faunadb.Client({ secret: process.env.KEY, domain: 'db.eu.fauna.com', scheme: 'https', });

Para vista previa:

 const client = new faunadb.Client({ secret: process.env.KEY, domain: 'db.fauna-preview.com', scheme: 'https', });

Puede leer más sobre los grupos de regiones en los documentos: https://docs.fauna.com/fauna/current/api/fql/region_groups

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!