SPMS_API/SPMS.Application/Interfaces/IAuthService.cs
SEAN 3acae06ed1 improvement: 임시 비밀번호 발급 및 강제변경 플로우 구현 (#207)
- 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
2026-02-25 10:51:37 +09:00

22 lines
1.1 KiB
C#

using SPMS.Application.DTOs.Account;
using SPMS.Application.DTOs.Auth;
namespace SPMS.Application.Interfaces;
public interface IAuthService
{
Task<SignupResponseDto> SignupAsync(SignupRequestDto request);
Task<LoginResponseDto> LoginAsync(LoginRequestDto request);
Task<TokenRefreshResponseDto> RefreshTokenAsync(TokenRefreshRequestDto request);
Task LogoutAsync(long adminId, string accessToken);
Task ChangePasswordAsync(long adminId, ChangePasswordRequestDto request);
Task<EmailCheckResponseDto> CheckEmailAsync(EmailCheckRequestDto request);
Task<EmailVerifyResponseDto> VerifyEmailAsync(EmailVerifyRequestDto request);
Task<EmailResendResponseDto> ResendVerificationAsync(EmailResendRequestDto request);
Task ForgotPasswordAsync(PasswordForgotRequestDto request);
Task ResetPasswordAsync(PasswordResetRequestDto request);
Task IssueTempPasswordAsync(TempPasswordRequestDto request);
Task<ProfileResponseDto> GetProfileAsync(long adminId);
Task<ProfileResponseDto> UpdateProfileAsync(long adminId, UpdateProfileRequestDto request);
}