New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

authjson

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

authjson

Un servidor RESTful con autenticación JWT, inspirado en json-server.

latest
npmnpm
Version
1.0.1
Version published
Maintainers
1
Created
Source

AuthJSON

AuthJSON es un servidor RESTful inspirado en json-server, pero con una capa de autenticación basada en JWT (JSON Web Tokens). Permite crear una API RESTful a partir de un archivo db.json, con operaciones CRUD y autenticación integrada.

Características

  • Autenticación JWT: Registro e inicio de sesión con generación de tokens JWT.
  • Operaciones CRUD: Crear, leer, actualizar y eliminar recursos de manera dinámica.
  • Monitoreo de cambios: Detecta cambios en el archivo db.json en tiempo real.
  • Fácil de usar: Configuración mínima y compatible con json-server.

Instalación

Puedes instalar AuthJSON globalmente usando npm:

npm install -g authjson

O como dependencia en tu proyecto:

npm install authjson

Uso

1. Crear un archivo db.json

Crea una carpeta data en la raíz de tu protecto y un archivo db.json con la estructura de datos que desees. Por ejemplo:

{
  "users": [
    { "id": 1, "userId": "123", "name": "Daniel", "email": "daniel@example.com" }
  ],
  "posts": [
    { "id": 1, "userId": "123", "title": "Mi primer post", "content": "Hola mundo" }
  ]
}

2. Configuración

Variables de entorno

DB_PATH: Ruta al archivo db.json.

PORT: Puerto en el que se ejecutará el servidor (por defecto: 3001).

SECRET_JWT_SEED: Clave secreta para la generación de tokens JWT. Si no se configura, se usará una clave predeterminada ('default-secret-key').

Argumentos de línea de comandos

--db <ruta>: Especifica la ruta al archivo db.json.

3. Iniciar el servidor

Puedes iniciar el servidor especificando la ruta de db.json como argumento de línea de comandos:

authjson --db ./ruta/al/db.json

O configurando la variable de entorno DB_PATH:

DB_PATH=./ruta/al/db.json

El servidor se iniciará en el puerto 3001 (o el que especifiques en la variable de entorno PORT).

4. Endpoints disponibles

Al iniciar el servidor, se mostrarán en la consola los endpoints disponibles. Por ejemplo:

🔗 **AuthJSON Endpoints:**
📌 Base URL: http://localhost:3001/

🔑 **Autenticación:**
✅ POST    http://localhost:3001/api/auth/login
✅ POST    http://localhost:3001/api/auth/register

🛠️ **Recursos Generados Automáticamente:**
✅ GET    http://localhost:3001/api/users
✅ POST   http://localhost:3001/api/users
✅ GET    http://localhost:3001/api/users/:id
✅ PUT    http://localhost:3001/api/users/:id
✅ DELETE http://localhost:3001/api/users/:id

✅ GET    http://localhost:3001/api/posts
✅ POST   http://localhost:3001/api/posts
✅ GET    http://localhost:3001/api/posts/:id
✅ PUT    http://localhost:3001/api/posts/:id
✅ DELETE http://localhost:3001/api/posts/:id

5. Autenticación

Registro

Para registrar un nuevo usuario, realiza una solicitud POST a /api/auth/register:

curl -X POST http://localhost:3001/api/auth/register \
  -H "Content-Type: application/json" \
  -d '{
    "userId": "123",
    "name": "Daniel",
    "email": "daniel@example.com"
  }'

Inicio de sesión

Para iniciar sesión, realiza una solicitud POST a /api/auth/login:

curl -X POST http://localhost:3001/api/auth/login \
  -H "Content-Type: application/json" \
  -d '{
    "email": "daniel@example.com"
  }'

6. Operaciones CRUD

Una vez autenticado, puedes realizar operaciones CRUD en los recursos. Por ejemplo, para obtener todos los posts:

curl -X GET http://localhost:3001/api/posts \
  -H "Authorization: Bearer <tu-token-jwt>"

¿Te gustó AuthJSON?

Si te gustó AuthJSON deja tu estrella en GitHub. Gracias!

Keywords

json-server

FAQs

Package last updated on 22 Aug 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts