- Admin 엔티티에 MustChangePassword, TempPasswordIssuedAt 필드 추가 - POST /v1/in/account/password/temp 엔드포인트 추가 - 임시비밀번호 생성(12자, 영대소+숫자+특수) 및 메일 발송 - 로그인 시 CHANGE_PASSWORD 분기 추가 (VERIFY_EMAIL > CHANGE_PASSWORD > GO_DASHBOARD) - 비밀번호 변경 시 MustChangePassword 플래그 자동 해제 - LoginResponseDto에 must_change_password 필드 추가 - EF Core 마이그레이션 생성 및 적용 Closes #207
47 lines
1.4 KiB
C#
47 lines
1.4 KiB
C#
using Microsoft.Extensions.Logging;
|
|
using SPMS.Application.Interfaces;
|
|
|
|
namespace SPMS.Infrastructure.Services;
|
|
|
|
public class ConsoleEmailService : IEmailService
|
|
{
|
|
private readonly ILogger<ConsoleEmailService> _logger;
|
|
|
|
public ConsoleEmailService(ILogger<ConsoleEmailService> logger)
|
|
{
|
|
_logger = logger;
|
|
}
|
|
|
|
public Task SendVerificationCodeAsync(string email, string code)
|
|
{
|
|
_logger.LogInformation(
|
|
"[EMAIL] 이메일 인증 코드 발송 → To: {Email}, Code: {Code}",
|
|
email, code);
|
|
return Task.CompletedTask;
|
|
}
|
|
|
|
public Task SendPasswordResetTokenAsync(string email, string token)
|
|
{
|
|
_logger.LogInformation(
|
|
"[EMAIL] 비밀번호 재설정 토큰 발송 → To: {Email}, Token: {Token}",
|
|
email, token);
|
|
return Task.CompletedTask;
|
|
}
|
|
|
|
public Task SendPasswordSetupTokenAsync(string email, string token)
|
|
{
|
|
_logger.LogInformation(
|
|
"[EMAIL] 비밀번호 설정 토큰 발송 → To: {Email}, Token: {Token}",
|
|
email, token);
|
|
return Task.CompletedTask;
|
|
}
|
|
|
|
public Task SendTempPasswordAsync(string email, string tempPassword)
|
|
{
|
|
_logger.LogInformation(
|
|
"[EMAIL] 임시 비밀번호 발송 → To: {Email}, TempPassword: {TempPassword}",
|
|
email, tempPassword);
|
|
return Task.CompletedTask;
|
|
}
|
|
}
|