2FA 플러그인
📋 작성 예정
이 문서는 플러그인 구현 후 상세 내용이 추가됩니다.
2단계 인증(Two-Factor Authentication) 플러그인입니다.
개요
TwoFactorAuth 플러그인은 TOTP 기반 2단계 인증을 제공합니다. Google Authenticator, Authy 등 표준 TOTP 앱과 호환됩니다.
| 항목 | 값 |
|---|---|
| 티어 | L0 (독립) |
| 가격 | Free |
| 상태 | 📋 개발 예정 |
| Core 의존성 | >= 1.1.0 |
예정 기능
TOTP 인증
- QR 코드 생성: 초기 설정용 QR 코드
- TOTP 검증: 6자리 코드 검증
- Google Authenticator 호환: RFC 6238 표준 준수
백업 코드
- 일회용 백업 코드: 10개 생성
- 안전한 저장: 암호화 저장
- 재생성 기능: 관리자 화면에서 재생성
강제 적용
- Level별 강제: 특정 Level에 2FA 필수
- Tenant별 설정: Tenant마다 다른 정책
- 유예 기간: 활성화 후 N일간 유예
복구 프로세스
- 이메일 복구: 인증된 이메일로 복구 링크
- 관리자 초기화: 상위 관리자가 2FA 해제
예상 사용법
설치
# Plugin Store에서 설치 (예정)
php artisan plugin:install two-factor-auth
# 마이그레이션
php artisan migrate
활성화
// config/core.php
'plugins' => [
'enabled' => ['two-factor-auth'],
],
설정
// config/two-factor-auth.php
return [
'enabled' => true,
// 강제 적용 Level (0=Platform Admin만, 2=Tenant Admin까지)
'required_levels' => [0, 1, 2],
// 유예 기간 (일)
'grace_period_days' => 7,
// 백업 코드 개수
'backup_codes_count' => 10,
];
코드 예시
// 2FA 활성화 확인
if ($user->hasTwoFactorEnabled()) {
// 코드 검증 필요
}
// QR 코드 URL 생성
$qrUrl = $twoFactorService->getQrCodeUrl($user);
// 코드 검증
$valid = $twoFactorService->verify($user, $code);