Files
task-stream/libs/api/identity/presenters
Josep Piguillem 5ae1d05d30 fix(api): accept Pireon webhooks from the password client too
Pireon signs each webhook with the secret of the client that registered
it, and the API has two clients (the web app's and the password
grant's). Only PIREON_WEBHOOK_SECRET was accepted, so a token revoked
for someone signed in with a password went unheard. A delivery now
verifies with PIREON_WEBHOOK_SECRET or PIREON_PASSWORD_WEBHOOK_SECRET;
the same event arriving from both clients changes nothing.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 13:29:27 +02:00
..
2026-10-03 13:40:26 +02:00
2026-10-03 13:40:26 +02:00
2026-10-03 13:40:26 +02:00
2026-10-03 13:40:26 +02:00
2026-10-03 13:40:26 +02:00

api-identity-presenters

Adaptadores de entrada de identidad.

  • Import: @task-stream/api/identity/presenters
  • Capa: presenters · Tags: scope:api-identity, type:presenters

Contenido

  • auth/: AuthGuard global, @Public(), @OptionalAuth() / @ApiOptionalPireonAuth() (lecturas de proyectos públicos: sin token, el usuario es undefined), @CurrentUser(), @AccessToken(), @RequireAppRoles(), WsAuthenticator (subscriptions) y @ApiPireonAuth() (esquemas OAuth2 / Bearer de Pireon en OpenAPI).
  • http/: AuthController (GET /api/auth/config, POST /api/auth/token), UsersController (/api/users/me, directorio de Pireon) y PireonWebhookController (firma HMAC). Documentados con @nestjs/swagger.
  • graphql/: queries me, user y users.

Comandos

npx nx lint api-identity-presenters
npx nx test api-identity-presenters    # Jest

Reglas de dependencia entre capas: Arquitectura.