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

Offen
#6,716 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Anfängerfreundlichkeit
35/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Ruhig
Tech-Stack
typescript

Rechercherichtung

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.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

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.

Vorherrschende Sprache
TypeScript
Sterne
29.8k
Forks
3.9k
Ø Merge
1 Std. 44 Min.
Gemergte PRs (30 T.)
841

Entwicklungsumgebung

Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus simstudioai/sim

Alle Issues in simstudioai/sim

Ähnliche Issues

Weitere Issues zu TypeScript

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.