# auth.md — JCRincon Agent Authentication & Registration Protocol

Bienvenido a la especificación de autenticación y consumo de servicios para Agentes Autónomos de Inteligencia Artificial en **jcrincon.com**.

## Agent Registration Discovery & Configuration

- **Audience**: AI Agents, LLMs, MCP Clients, A2A Autonomous Agents
- **Issuer**: `https://jcrincon.com`
- **Registration Endpoint**: `https://jcrincon.com/oauth/register`
- **Claim Endpoint**: `https://jcrincon.com/oauth/claim`
- **Token Endpoint**: `https://jcrincon.com/oauth/token`
- **Supported Identity Types**: `anonymous`, `identity_assertion`
- **Supported Assertion Types**: `urn:ietf:params:oauth:token-type:id-jag`, `verified_email`
- **Supported Credential Types**: `bearer_token`, `api_key`
- **Supported Scopes**: `read`, `contact`, `agent`

---

## Modos de Registro y Autenticación Soportados

### 1. Registro y Acceso Anónimo (Público)
- **Identity Type**: `anonymous`
- **Uso**: Consulta de servicios, lectura de portafolio, revisión de especificaciones y capacidades.
- **Credenciales**: No requiere tokens previos. Se puede obtener una clave de sesión opcional enviando un request a `POST /oauth/claim` con `{ "identity_type": "anonymous" }`.
- **Endpoints disponibles**:
  - `GET /llms.txt`
  - `GET /llms-full.txt`
  - `GET /.well-known/ai-catalog.json`
  - `GET /.well-known/mcp/server-card.json`
  - `GET /.well-known/agent-card.json`
  - `GET /.well-known/agent-skills/index.json`
  - `GET /.well-known/api-catalog`

### 2. Envío de Acciones y Mensajes de Contacto
- **Identity Type**: `identity_assertion` o `verified_email`
- **Registration Flow**:
  1. El agente se registra enviando un POST a `https://jcrincon.com/oauth/register` con su identificador de agente o email verificado.
  2. Obtiene un token al portador (`Bearer Token`).
  3. Envía la solicitud a `POST https://jcrincon.com/send_resend.php` o mediante la herramienta MCP `submit_contact_request` incluyendo el encabezado `Authorization: Bearer <token>`.

```http
POST /oauth/register HTTP/1.1
Host: jcrincon.com
Content-Type: application/json

{
  "client_name": "MyAiAgent",
  "identity_type": "anonymous"
}
```

---

## Metadatos OAuth 2.0 y Recursos Protegidos
- **OAuth Authorization Server**: `https://jcrincon.com/.well-known/oauth-authorization-server`
- **OpenID Configuration**: `https://jcrincon.com/.well-known/openid-configuration`
- **OAuth Protected Resource**: `https://jcrincon.com/.well-known/oauth-protected-resource`
- **Bearer Methods**: `header` (`Authorization: Bearer <token>`)

Para mayor información técnica o contacto humano directo, visita [https://jcrincon.com](https://jcrincon.com).
