summaryrefslogtreecommitdiff
path: root/lib/users/send-otp.ts
diff options
context:
space:
mode:
authordujinkim <dujin.kim@dtsolution.co.kr>2025-04-28 02:13:30 +0000
committerdujinkim <dujin.kim@dtsolution.co.kr>2025-04-28 02:13:30 +0000
commitef4c533ebacc2cdc97e518f30e9a9350004fcdfb (patch)
tree345251a3ed0f4429716fa5edaa31024d8f4cb560 /lib/users/send-otp.ts
parent9ceed79cf32c896f8a998399bf1b296506b2cd4a (diff)
~20250428 작업사항
Diffstat (limited to 'lib/users/send-otp.ts')
-rw-r--r--lib/users/send-otp.ts75
1 files changed, 38 insertions, 37 deletions
diff --git a/lib/users/send-otp.ts b/lib/users/send-otp.ts
index 55c08eaf..ecaf19a5 100644
--- a/lib/users/send-otp.ts
+++ b/lib/users/send-otp.ts
@@ -27,48 +27,49 @@ export async function sendOtpAction(email: string, lng: string) {
};
}
+ /////테스트 임시
// OTP 및 만료 시간 생성
- const otp = Math.floor(100000 + Math.random() * 900000).toString();
- const expires = new Date(Date.now() + 10 * 60 * 1000); // 10분 후 만료
- const token = jwt.sign(
- {
- email,
- otp,
- exp: Math.floor(expires.getTime() / 1000),
- },
- process.env.JWT_SECRET!
- );
+ // const otp = Math.floor(100000 + Math.random() * 900000).toString();
+ // const expires = new Date(Date.now() + 10 * 60 * 1000); // 10분 후 만료
+ // const token = jwt.sign(
+ // {
+ // email,
+ // otp,
+ // exp: Math.floor(expires.getTime() / 1000),
+ // },
+ // process.env.JWT_SECRET!
+ // );
- // DB에 OTP 추가
- await addNewOtp(email, otp, new Date(), token, expires);
+ // // DB에 OTP 추가
+ // await addNewOtp(email, otp, new Date(), token, expires);
- // 이메일에서 사용할 URL 구성
- const verificationUrl = `http://${host}/ko/login?token=${token}`;
+ // // 이메일에서 사용할 URL 구성
+ // const verificationUrl = `http://${host}/ko/login?token=${token}`;
- // IP 정보로부터 지역 조회 (ip-api 사용)
- const ip = headersList.get('x-forwarded-for')?.split(',')[0]?.trim() || '';
- let location = '';
- try {
- const response = await fetch(`http://ip-api.com/json/${ip}?fields=country,city`);
- const data = await response.json();
- location = data.city && data.country ? `${data.city}, ${data.country}` : '';
- } catch (error) {
- // 위치 조회 실패 시 무시
- }
+ // // IP 정보로부터 지역 조회 (ip-api 사용)
+ // const ip = headersList.get('x-forwarded-for')?.split(',')[0]?.trim() || '';
+ // let location = '';
+ // try {
+ // const response = await fetch(`http://ip-api.com/json/${ip}?fields=country,city`);
+ // const data = await response.json();
+ // location = data.city && data.country ? `${data.city}, ${data.country}` : '';
+ // } catch (error) {
+ // // 위치 조회 실패 시 무시
+ // }
- // OTP 이메일 발송
- await sendEmail({
- to: email,
- subject: `${otp} - SHI eVCP Sign-in Verification`,
- template: 'otp',
- context: {
- name: user.name,
- otp,
- verificationUrl,
- location,
- language: lng,
- },
- });
+ // // OTP 이메일 발송
+ // await sendEmail({
+ // to: email,
+ // subject: `${otp} - SHI eVCP Sign-in Verification`,
+ // template: 'otp',
+ // context: {
+ // name: user.name,
+ // otp,
+ // verificationUrl,
+ // location,
+ // language: lng,
+ // },
+ // });
// 클라이언트로 반환할 수 있는 값
return {