curl -X POST http://localhost:8000/api/v1/auth/login \
-H "Content-Type: application/json" \
-d '{
"email": "dev@acme-corp.com",
"password": "password123"
}'
{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "bearer",
"user_id": "user-1",
"email": "dev@acme-corp.com",
"display_name": "Carlos Dev"
}
Autenticarse y obtener un JWT token.
curl -X POST http://localhost:8000/api/v1/auth/login \
-H "Content-Type: application/json" \
-d '{
"email": "dev@acme-corp.com",
"password": "password123"
}'
{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "bearer",
"user_id": "user-1",
"email": "dev@acme-corp.com",
"display_name": "Carlos Dev"
}
curl -X POST http://localhost:8000/api/v1/auth/login \
-H "Content-Type: application/json" \
-d '{
"email": "dev@acme-corp.com",
"password": "password123"
}'
{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "bearer",
"user_id": "user-1",
"email": "dev@acme-corp.com",
"display_name": "Carlos Dev"
}
ACCESS_TOKEN_EXPIRE_MINUTES).
Usa el token en el header Authorization: Bearer {token} para endpoints protegidos.