Skip to content
Esta página fue generada y traducida con asistencia de IA. Si encuentra alguna imprecisión, no dude en ayudar a mejorarla. Editar en GitHub

Autenticación

OpenPR usa JWT (JSON Web Tokens) para la autenticación de usuarios y tokens de bot para el acceso de asistentes de IA y del servidor MCP.

Autenticación de Usuarios (JWT)

Registrarse

Crea una nueva cuenta:

bash
curl -X POST http://localhost:8080/api/auth/register \
  -H "Content-Type: application/json" \
  -d '{
    "email": "[email protected]",
    "name": "John Doe",
    "password": "SecurePassword123"
  }'

Respuesta:

json
{
  "code": 0,
  "message": "success",
  "data": {
    "user": {
      "id": "uuid",
      "email": "[email protected]",
      "name": "John Doe",
      "role": "user"
    },
    "access_token": "eyJ...",
    "refresh_token": "eyJ..."
  }
}

Primer Usuario

El primer usuario registrado recibe automáticamente el rol de admin. Todos los usuarios posteriores son user por defecto.

Iniciar Sesión

bash
curl -X POST http://localhost:8080/api/auth/login \
  -H "Content-Type: application/json" \
  -d '{
    "email": "[email protected]",
    "password": "SecurePassword123"
  }'

La respuesta incluye access_token, refresh_token e información del usuario con role.

Usar el Token de Acceso

Incluye el token de acceso en el encabezado Authorization para todas las solicitudes autenticadas:

bash
curl -H "Authorization: Bearer eyJ..." \
  http://localhost:8080/api/workspaces

Renovación de Token

Cuando el token de acceso expira, usa el token de actualización para obtener un nuevo par:

bash
curl -X POST http://localhost:8080/api/auth/refresh \
  -H "Content-Type: application/json" \
  -d '{"refresh_token": "eyJ..."}'

Obtener Usuario Actual

bash
curl -H "Authorization: Bearer eyJ..." \
  http://localhost:8080/api/auth/me

Devuelve el perfil del usuario actual incluyendo role (admin/user).

Configuración de Tokens

Los tiempos de vida de los tokens JWT se configuran mediante variables de entorno:

VariablePredeterminadoDescripción
JWT_SECRETchange-me-in-productionClave secreta para firmar tokens
JWT_ACCESS_TTL_SECONDS2592000 (30 días)Tiempo de vida del token de acceso
JWT_REFRESH_TTL_SECONDS604800 (7 días)Tiempo de vida del token de actualización

Seguridad en Producción

Siempre establece JWT_SECRET a un valor fuerte y aleatorio en producción. El valor predeterminado es inseguro.

Autenticación con Token de Bot

Los tokens de bot proporcionan autenticación para asistentes de IA y herramientas automatizadas. Tienen ámbito de espacio de trabajo y usan el prefijo opr_.

Crear Tokens de Bot

Los tokens de bot se gestionan a través de la interfaz de configuración del espacio de trabajo o la API:

bash
curl -X POST http://localhost:8080/api/workspaces/<workspace_id>/bots \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <admin_token>" \
  -d '{"name": "Claude Assistant"}'

Usar Tokens de Bot

Los tokens de bot se usan de la misma manera que los tokens JWT:

bash
curl -H "Authorization: Bearer opr_abc123..." \
  http://localhost:8080/api/workspaces/<workspace_id>/projects

Propiedades del Token de Bot

PropiedadDescripción
Prefijoopr_
ÁmbitoUn espacio de trabajo
Tipo de EntidadCrea una entidad de usuario bot_mcp
PermisosIgual que un miembro del espacio de trabajo
Registro de AuditoríaTodas las acciones registradas bajo el usuario bot

Resumen de Endpoints de Autenticación

EndpointMétodoDescripción
/api/auth/registerPOSTCrear cuenta
/api/auth/loginPOSTIniciar sesión y obtener tokens
/api/auth/refreshPOSTRenovar par de tokens
/api/auth/meGETObtener información del usuario actual

Próximos Pasos

Released under the Apache-2.0 License.