포털 인증·계정·사용자 그룹·대시보드·알림 센터·감사 화면·도움말·발송기·스케줄러 (§3·§4·§5·§24)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
zzabisagent-lab
2026-10-26 11:26:28 +00:00
co-authored by Claude Fable 5.1
parent 0f11424224
commit c90ac27596
21 changed files with 1005 additions and 0 deletions
+10
View File
@@ -0,0 +1,10 @@
/**
* portal/auth/model.mjs — 인증 영역 세부 표.
* login_attempts : 이메일+IP 별 실패 횟수와 잠금 해제 시각(§3.2 반복 실패 제한)
* consents 는 users.consents_json, MFA 는 users.mfa_json({ secret, enabledAt, lastCounter }), 복구 코드는 users.recovery_json([{hash, usedAt}]) 에 둔다.
* 이메일 확인·비밀번호 재설정·MFA 사전 인증 토큰은 core 의 email_tokens(kind: verify | reset | mfa_preauth) 를 쓴다.
*/
export const MIGRATIONS = [{ id: 'auth_0001', sql: `
CREATE TABLE IF NOT EXISTS login_attempts (
key TEXT PRIMARY KEY, failures INTEGER NOT NULL DEFAULT 0, lock_until TEXT, updated_at TEXT NOT NULL
);` }];