Ir al contenido

BFF del satélite alineado a PKCE

Generado automáticamente desde el archivo fuente. No editar a mano — vuelve a ejecutar catalyst-changelog-sync.

  • Breaking: el canje del código pasa de POST {hub}/api/o-auth/credentials (JSON) a POST {hub}/api/o-auth/token (form-urlencoded, HTTP Basic) con grant_type=authorization_code. Se elimina la llamada heredada a /credentials.
  • /auth/login ahora añade PKCE (code_challenge + code_challenge_method=S256) y envía el client_id como el OAuthApplication.code (p. ej. aurora), no el UUID del OAuthClient. El code_verifier se guarda en el servidor indexado por state y nunca llega al navegador.
  • /auth/refresh pasa al grant de refresh de /token; el secret del cliente se queda solo en el backend (se lee de OAUTH_APPLICATION_SECRET) y nunca se incluye en el bundle del frontend.

Los satélites construidos para el contrato antiguo de /credentials + client_id con UUID ahora fallan contra el hub actualizado con invalid_request (falta PKCE). Para migrar: vuelve a traer el paquete authorization-code (catalyst add --force), pon OAUTH_APPLICATION_CODE con el código de aplicación (aurora — renombrada desde OAUTH_CLIENT_ID) y OAUTH_APPLICATION_SECRET con su secret, y asegúrate de que el redirect registrado en el cliente del hub coincide exactamente con tu callback. La superficie de cara al navegador (/auth/login, /auth/token y /callback) no cambia, así que el ida y vuelta del frontend no necesita ajustes.


Ver propuesta original