fix(auth): harden oauth and admin management flows#2
Open
Menstear wants to merge 6 commits into
Open
Conversation
added 4 commits
March 22, 2026 23:50
apply oauth state validation and authcode exchange flow, enforce refresh rotation atomicity with transaction and reuse detection, split admin users/invites routes, protect write routes with auth/perm checks, and align frontend auth sync behavior Refs #7
|
Deployment failed with the following error: |
|
Someone is attempting to deploy a commit to the quipu-app Team on Vercel. A member of the Team first needs to authorize it. |
tighten oauth and invite concurrency handling, strengthen refresh and logout audit consistency, add strict admin API validation, and improve admin panel ux with pagination and clearer invite actions
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changes
Implementation
/bo/auth/google/callback에 passport 커스텀 콜백을 적용해info.message기반 reason 전달을 구현했습니다.googleStrategy에서 invite pre-check 및 트랜잭션 내 원자적 consume(findOneAndUpdate)를 적용했습니다.boAuth에서 refresh 분산락 상태 분기, race/reuse 처리 보완, logout 트랜잭션+감사로그를 적용했습니다.boAdminUsers/boAdminInvites에 ObjectId/boolean/labels/perm 검증과 pagination 응답을 추가했습니다.config/allowedOrigins.js로 공통화했습니다./admin라우트와RequireSuperAdmin가드를 추가했습니다.AdminPanel에서 사용자/초대 관리 UI, 상태 필터, 페이지네이션, 재발급/취소 액션을 구현했습니다.write/all편집 시 권한 소실 이슈를 방지하도록 모달 라벨 전개 로직을 적용했습니다.createdUrl출처를 구분(created/reissued)해 배너 문구 혼동을 해소했습니다.AuthProvider/authClient의 BroadcastChannel 정리 및 logout reason 동기화를 개선했습니다.RequireAuth+AuthCallback에서 로그인 후 원래 경로 복귀를 지원했습니다.toastUtil에서 confirm 액션 예외 발생 시에도 토스트가 닫히도록try/finally를 적용했습니다.Notes
.DS_Store는 커밋에서 제외했습니다.