Skip to content

feat(client-core): enviar x-client-id no lugar de x-api-key - #277

Merged
loadfms merged 2 commits into
mainfrom
feat/x-client-id-header
Sep 3, 2026
Merged

loadfms merged 2 commits into
mainfrom
feat/x-client-id-header

Conversation

@loadfms

@loadfms loadfms commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Por quê

O valor passado em formAccess.apiKey identifica a aplicação (um client id público, embarcado no bundle do browser), não um segredo nem um usuário. O nome x-api-key sugere uma credencial secreta e gera report de segurança falso-positivo (HackerOne no consumidor do SDK). Este PR renomeia o header para x-client-id.

Compatibilidade

O back (firebolt-api) já aceita x-client-id e x-api-key (fase de transição, em produção), então a troca não quebra os fluxos atuais. O SDK é usado só internamente pelos fronts da CP.

O que muda

  • packages/client-core/lib/services/API.ts: constante x-api-key → x-client-id, aplicada nos 5 métodos que enviam a chave (getStartForm, getNextStep, getPreviousStep, getDebugStep, upload).
  • Teste novo em API.test.ts cobrindo o header enviado (antes não havia cobertura de header).

Depois deste PR

  1. Release do @iq-firebolt/client-core (e do client, que depende dele).
  2. Bump da versão nos fronts (credit-partner-forms-ui 0.11.1, mono-marketplace-hub-ui 0.8.3-next.129).
  3. Com isso, o header antigo some do tráfego (npf e mastercard) e o x-api-key pode ser removido do back.

Verificação

vitest run lib/services/API.test.ts: 4 passed. Rodei o arquivo isolado (Node 25); o CI valida na matriz oficial.

🤖 Generated with Claude Code

O valor identifica a aplicacao (client id publico no bundle), nao um segredo.
O firebolt-api ja aceita os dois headers, entao a troca e compativel. Cobre os
5 metodos do APIService (start/next/previous/debug/upload).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

⚠️ A versão do lerna.json no PR (0.11.2) não é válida.

Ela deve ser MAIOR que a versão atual da main (0.11.2).

Por favor, atualize sua branch com a main e rode o seguinte script para corrigir: version:patch

@github-actions

github-actions Bot commented Sep 3, 2026 •

Copy link
Copy Markdown
Contributor

Coverage Report for client-core

Status Category Percentage Covered / Total
🟢 Lines 86.01% (🎯 80%) 689 / 801
🟢 Statements 86.01% (🎯 80%) 689 / 801
🟢 Functions 76.31% (🎯 70%) 29 / 38
🟢 Branches 78.82% (🎯 70%) 67 / 85
File Coverage
File Stmts Branches Functions Lines Uncovered Lines
Changed Files
packages/client-core/lib/services/API.ts 64.35% 73.33% 71.42% 64.35% 30-31, 34-35, 56-57, 76-77, 87-97, 100-121
Generated in workflow #383 for commit 2df9c02 by the Vitest Coverage Report Action

Bump exigido pelo check de versao do monorepo (lerna fixed mode) para o PR do
header x-client-id. Atualiza os 11 packages, o lerna.json e as cross-deps.
@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Coverage Report for client

Status Category Percentage Covered / Total
🟢 Lines 83.17% (🎯 80%) 1799 / 2163
🟢 Statements 83.17% (🎯 80%) 1799 / 2163
🟢 Functions 73.87% (🎯 70%) 82 / 111
🟢 Branches 70.88% (🎯 70%) 185 / 261
File Coverage
File Stmts Branches Functions Lines Uncovered Lines
Changed Files
packages/client-core/lib/services/API.ts 64.35% 73.33% 71.42% 64.35% 30-31, 34-35, 56-57, 76-77, 87-97, 100-121
Generated in workflow #59 for commit 2df9c02 by the Vitest Coverage Report Action

@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Coverage Report for validators

Status Category Percentage Covered / Total
🟢 Lines 96.49% (🎯 80%) 2172 / 2251
🟢 Statements 96.49% (🎯 80%) 2172 / 2251
🟢 Functions 94.73% (🎯 70%) 54 / 57
🟢 Branches 85.47% (🎯 70%) 300 / 351
File CoverageNo changed files found.
Generated in workflow #59 for commit 2df9c02 by the Vitest Coverage Report Action

@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Canary publicado: v0.11.3-next.2df9c02

@loadfms
loadfms requested a review from gi-flor September 3, 2026 14:05
@loadfms
loadfms merged commit e253ac4 into main Sep 3, 2026
2 checks passed
@loadfms
loadfms deleted the feat/x-client-id-header branch September 3, 2026 16:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant