사용자와 보안
로그인과 세션
- 인증이 활성화된 환경에서는 이메일 + 비밀번호로 로그인합니다. 세션은 httpOnly 쿠키(
ssemworks-auth)로 유지되고, 만료되면 로그인 화면으로 돌아갑니다. - 앱단 인증 강제 여부는 서버 설정(kill-switch)으로 관리자가 제어합니다 — 개방 모드 환경에서는 로그인 없이 접근될 수 있습니다.
사용자 관리
Settings → Users 에서 사용자 목록을 관리합니다. 각 사용자는 전역 역할(예: global:owner)을 갖습니다.
역할 (Roles)
Settings → Roles 에서 역할을 봅니다.
- 시스템 역할(owner/admin 등)은 수정/삭제가 보호됩니다.
- 커스텀 역할을 생성해 scope(권한) 집합을 부여할 수 있습니다.
2단계 인증 (2FA, TOTP)
개인 설정(Personal)에서 2FA 를 켭니다.
- Enable 2FA — QR(otpauth URI)이 표시됩니다. Google Authenticator 등 TOTP 앱으로 스캔합니다.
- 앱의 6자리 코드를 입력해 활성화합니다. 이때 표시되는 복구 코드 10개를 안전한 곳에 보관하세요.
- 이후 로그인 시 비밀번호 다음 단계에서 6자리 코드를 입력합니다. 앱을 쓸 수 없으면 복구 코드로 로그인합니다 — 복구 코드는 1회용입니다.
- 해제(disable)는 현재 코드 또는 복구 코드 확인 후 가능합니다.
비밀번호 복구
이 시스템은 메일 발송(SMTP) 없이 관리자 복구 토큰 방식을 사용합니다.
- 로그인 화면에서 비밀번호 재설정을 요청합니다(같은 계정 재요청은 60초 쿨다운).
- 복구 토큰이 서버(엔진) 로그에 출력됩니다 — 서버 관리자에게 토큰을 전달받으세요.
- 재설정 폼에 토큰과 새 비밀번호를 입력합니다.
- 토큰은 30분 유효, 1회용입니다.
- 존재하지 않는 계정으로 요청해도 동일하게 응답합니다(계정 존재 여부 비노출).
API 키
Settings → API 에서 공개 API 용 키를 발급/회전/삭제합니다. 키 값은 생성 시 한 번만 표시되고, scope 로 권한을 제한합니다. → 공개 API