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

Đang mở
#6,716 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
35/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Ít trao đổi
Công nghệ
typescript

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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.

Ngôn ngữ chính
TypeScript
Star
29.8k
Fork
3.9k
Merge trung bình
1 giờ 44 phút
Pull request đã merge (30 ngày)
841

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của simstudioai/sim

Tất cả issue của simstudioai/sim

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.