# OAuth

9 rute de platformă, cu exemplu de cerere pentru fiecare.

Adresa de bază: `https://app.ilustromania.com/nucleu`

### GET /.well-known/oauth-authorization-server

Acces: `public`

**Metadatele serverului OAuth**

Documentul RFC 8414 al serverului de autorizare: căi, granturi, metode. Public.

```bash
curl https://app.ilustromania.com/nucleu/.well-known/oauth-authorization-server
```

### GET /.well-known/oauth-protected-resource

Acces: `public`

**Metadatele resursei OAuth**

Documentul RFC 9728 al resursei protejate (serverul MCP). Public.

```bash
curl https://app.ilustromania.com/nucleu/.well-known/oauth-protected-resource
```

### POST /v1/oauth/acord

Acces: `sesiune`

**Acordul OAuth**

Omul permite (cod de o folosință) sau refuză (`access_denied`); cererea se consumă o singură dată, doar de pe originea aplicației.

```bash
curl -X POST https://app.ilustromania.com/nucleu/v1/oauth/acord \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{ … }'
```

### GET /v1/oauth/autorizeaza

Acces: `public`

**Autorizarea OAuth**

Pornește autorizarea și duce omul la ecranul de acord; la orice nepotrivire răspunde 400, fără redirect. Limitată pe IP.

```bash
curl https://app.ilustromania.com/nucleu/v1/oauth/autorizeaza
```

### GET /v1/oauth/cerere/{id}

Acces: `sesiune`

**Cererea de pe ecranul de acord**

Ce vede omul logat pe ecranul de acord: numele clientului, gazda de întoarcere și firmele contului.

Parametri de cale:

| Nume | Tip | Descriere |
| --- | --- | --- |
| `id` | `string` | identificatorul resursei |

```bash
curl https://app.ilustromania.com/nucleu/v1/oauth/cerere/{id} \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE"
```

### POST /v1/oauth/inregistreaza

Acces: `public`

**Înregistrarea dinamică a clientului OAuth**

Înregistrare RFC 7591 a unui client OAuth; doar JSON, limitată pe IP pe oră.

```bash
curl -X POST https://app.ilustromania.com/nucleu/v1/oauth/inregistreaza \
  -H "Content-Type: application/json" \
  -d '{ … }'
```

### POST /v1/oauth/jeton

Acces: `public`

**Jetonul OAuth**

Schimbă codul de autorizare sau jetonul de reîmprospătare pe jeton de acces; limitată.

```bash
curl -X POST https://app.ilustromania.com/nucleu/v1/oauth/jeton \
  -H "Content-Type: application/json" \
  -d '{ … }'
```

### GET /v1/oauth/resursa

Acces: `public`

**Metadatele resursei OAuth (alias)**

Același document al resursei protejate, sub prefixul OAuth. Public.

```bash
curl https://app.ilustromania.com/nucleu/v1/oauth/resursa
```

### POST /v1/oauth/revoca

Acces: `public`

**Revocă jetonul OAuth**

Revocă un jeton al clientului (RFC 7009); răspunde 200 gol.

```bash
curl -X POST https://app.ilustromania.com/nucleu/v1/oauth/revoca \
  -H "Content-Type: application/json" \
  -d '{ … }'
```
