fix(credentials): bind OAuth reconnect drafts to exact flows

Aperta
#6,716 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
35/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
typescript

Direzione di ricerca

Start by tracing the shared credential-draft lifecycle and the generic and custom OAuth callback entry points; no specific files are named in the issue. Use the listed concurrency, cross-provider, target-mismatch, environment-mismatch, success, replay, and expiry scenarios as the test plan. Done means callbacks process only the protected exact draft and reject mismatched or expired targets without changing unrelated flows.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Summary

OAuth reconnect drafts are selected by broad ambient context rather than one exact protected flow. Tighten the shared credential-draft lifecycle so concurrent and cross-provider OAuth flows cannot consume or mutate the wrong draft.

Required changes

  • validate reconnect target credential type, provider, workspace, and provider-specific environment at draft creation
  • return the draft ID and bind it into protected OAuth state
  • process the exact draft row identified by that protected state during callback
  • repeat type, provider, workspace, and environment checks before the final credential mutation
  • preserve ordinary new-credential and legacy OAuth behavior where the same invariants hold

Tests

  • concurrent OAuth tabs in one workspace
  • concurrent OAuth flows across workspaces
  • cross-provider reconnect attempts
  • wrong credential type and wrong target credential
  • provider-specific environment mismatch
  • exact-flow success and replay/expired-draft rejection

Context

This is a platform-wide credential integrity change affecting generic OAuth and custom OAuth flows. It is intentionally separate from Dynamics 365 CRM PR #6714, which adds UI-level environment binding but must not absorb shared draft infrastructure changes.

Lingua principale
TypeScript
Stelle
29.8k
Fork
3.9k
Merge medio
1h 44m
PR unite (30g)
841

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di simstudioai/sim

Tutte le issue di simstudioai/sim

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.