Google 계정 연동 관리 개선

This commit is contained in:
2026-07-29 14:18:40 +09:00
parent 52ed053876
commit 3c431576b7
13 changed files with 258 additions and 16 deletions

View File

@@ -4,6 +4,7 @@ import { createError, getQuery, sendRedirect } from 'h3'
import {
createGoogleUser,
getUserByEmail,
getUserById,
getUserByGoogleSub,
isPrivilegedMemberSession,
linkGoogleIdentityToUser,
@@ -123,6 +124,17 @@ export default defineEventHandler(async (event) => {
return sendRedirect(event, appendGoogleStatus('/signin', 'session-mismatch'), 302)
}
const currentUser = await getUserById(session.userId)
if (!currentUser) {
clearMemberSession(event)
clearAdminSession(event)
return sendRedirect(event, appendGoogleStatus('/signin', 'session-mismatch'), 302)
}
if (currentUser.googleLinkedAt) {
return sendRedirect(event, appendGoogleStatus(state.redirectTo, 'already-connected'), 302)
}
if (linkedUser && String(linkedUser.id) !== String(session.userId)) {
return sendRedirect(event, appendGoogleStatus(state.redirectTo, 'already-linked'), 302)
}