fix(credentials): workspace admin users get 'member' role on credential_member instead of 'admin'
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
- #5431 của @tsushanth — đã đóng, không merge
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 42/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- typescript
- Lĩnh vực
- api, authorization, backend
Hướng nghiên cứu
Start with ensureWorkspaceCredentialMemberships in apps/sim/lib/credentials/environment.ts and the POST handler in apps/sim/app/api/credentials/route.ts; trace how workspace permissions are read and how credential_member roles are assigned. Reproduce the owner, admin, write, and read cases, then verify that owner and admin users receive admin while write and read users receive member.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Bug Description
When a workspace-scoped secret is created (via Settings > Secrets or syncWorkspaceEnvCredentials), the credential_member role is determined solely by whether the user is the workspace owner:
const targetRole = memberUserId === ownerUserId ? 'admin' : 'member'
This means workspace admin users are assigned member role on credential_member, making them unable to edit or delete the secret — even though they have admin access to the workspace.
Affected Code
apps/sim/lib/credentials/environment.ts—ensureWorkspaceCredentialMemberships: only checksownerUserId, ignores workspacepermissionstableapps/sim/app/api/credentials/route.ts— POST handler: same issue, onlyworkspaceRow.ownerId || session.user.idgets admin
Expected Behavior
Credential member role should reflect workspace permissions:
| Workspace Permission | Credential Role |
|---|---|
owner (workspace.ownerId) |
admin |
| admin (permissions table) | admin |
| write | member |
| read | member |
Steps to Reproduce
- Create a workspace with multiple members (owner + admin + write/read users)
- As the owner, go to Settings > Secrets and create a workspace-scoped secret
- Check
credential_membertable — only the owner hasadminrole - Log in as a workspace admin user — cannot edit or delete the secret
- 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
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của simstudioai/sim
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
simstudioai/sim#9831 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
v2 API rate limits self-hosted installs by IP even with billing disabledCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 75/100
simstudioai/sim#8452 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Railway template generates invalid ENCRYPTION_KEY (should be 64-char hex string)Có thể làm lại được @sahooarnav2007-gif đã nhận 15 ngày trước và không có pull request nào đang mở. Đang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
simstudioai/sim#6246 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
simstudioai/sim#1204 · 8 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
simstudioai/sim#9734 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của simstudioai/sim
Issue tương tự
-
Bug: Cloudflare Pages static _redirects identity rule causes RSC Flight to reload as HTMLCó thể đã có người làm @Donvero đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Mantitup-Org/vista#210 ·
-
status: waiting for maintainer
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
mui/material-ui#49751 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
diplodoc-platform/transform#1184 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
JonasKruckenberg/imagetools#973 ·
Maintainer thường phản hồi trong vòng 1 ngày