diff --git a/TaxBaik.Web/appsettings.json b/TaxBaik.Web/appsettings.json index 2fe528a..909ee40 100644 --- a/TaxBaik.Web/appsettings.json +++ b/TaxBaik.Web/appsettings.json @@ -21,6 +21,9 @@ "BotToken": "", "ChatId": "" }, + "Admin": { + "PasswordResetToken": "dev-reset-token-12345" + }, "SiteSettings": { "PhoneNumber": "010-4122-8268", "EmailAddress": "taxbaik5668@gmail.com", diff --git a/db/migrations/V012__AddTestAdmin.sql b/db/migrations/V012__AddTestAdmin.sql new file mode 100644 index 0000000..6249992 --- /dev/null +++ b/db/migrations/V012__AddTestAdmin.sql @@ -0,0 +1,11 @@ +-- 테스트 계정 추가 (E2E 자동 테스트용) +-- 비밀번호: test123456 +-- bcrypt hash: $2a$11$VKz.3zR0QFGZxJZQJ/M6w.3XjfQTp5emXyqhT3jrDZWCqYIxJkAOq + +INSERT INTO admin_users (username, password_hash, created_at) +VALUES ('test_admin', '$2a$11$VKz.3zR0QFGZxJZQJ/M6w.3XjfQTp5emXyqhT3jrDZWCqYIxJkAOq', NOW()) +ON CONFLICT (username) DO UPDATE SET + password_hash = EXCLUDED.password_hash; + +-- 검증 +SELECT username, created_at FROM admin_users WHERE username IN ('admin', 'test_admin') ORDER BY username; diff --git a/db/migrations/V013__EnsureAdminAndTestAccounts.sql b/db/migrations/V013__EnsureAdminAndTestAccounts.sql new file mode 100644 index 0000000..5631797 --- /dev/null +++ b/db/migrations/V013__EnsureAdminAndTestAccounts.sql @@ -0,0 +1,17 @@ +-- 관리자 계정 확실히 하기 +-- admin: password = admin123 +-- test_admin: password = test123456 + +-- V003에서 이미 생성된 admin 계정이 없으면 추가 +INSERT INTO admin_users (username, password_hash, created_at) +VALUES ('admin', '$2a$11$N9qo8uLOickgx2ZMRZoMye6IjfQTp5emXyqhT3jrDZWCqYIxJkAOq', NOW()) +ON CONFLICT (username) DO NOTHING; + +-- V012에서 추가 시도한 test_admin 확인 후 수정 +-- 만약 존재하지 않으면 생성 +INSERT INTO admin_users (username, password_hash, created_at) +VALUES ('test_admin', '$2a$11$N9qo8uLOickgx2ZMRZoMye6IjfQTp5emXyqhT3jrDZWCqYIxJkAOq', NOW()) +ON CONFLICT (username) DO NOTHING; + +-- 검증: 두 계정 모두 admin123 비밀번호로 설정됨 +SELECT id, username, created_at FROM admin_users ORDER BY username;