summaryrefslogtreecommitdiff
path: root/lib/users/verifyOtp.ts
diff options
context:
space:
mode:
Diffstat (limited to 'lib/users/verifyOtp.ts')
-rw-r--r--lib/users/verifyOtp.ts31
1 files changed, 30 insertions, 1 deletions
diff --git a/lib/users/verifyOtp.ts b/lib/users/verifyOtp.ts
index 5de76f90..aa759338 100644
--- a/lib/users/verifyOtp.ts
+++ b/lib/users/verifyOtp.ts
@@ -25,4 +25,33 @@ export async function verifyOtp(email: string, code: string) {
companyId: otpRecord.companyId,
domain: otpRecord.domain,
}
-} \ No newline at end of file
+}
+
+
+export async function verifyExternalCredentials(username: string, password: string) {
+ // DB에서 email과 code가 맞는지, 만료 안됐는지 검증
+ const otpRecord = await findEmailandOtp(username, password)
+ if (!otpRecord) {
+ return null
+ }
+
+ // 만료 체크
+ if (otpRecord.otpExpires && otpRecord.otpExpires < new Date()) {
+ return null
+ }
+
+ // 여기서 otpRecord에 유저 정보가 있다고 가정
+ // 예: otpRecord.userId, otpRecord.userName, otpRecord.email 등
+ // 실제 DB 설계에 맞춰 필드명을 조정하세요.
+ return {
+ email: otpRecord.email,
+ name: otpRecord.name,
+ id: otpRecord.id,
+ imageUrl: otpRecord.imageUrl,
+ companyId: otpRecord.companyId,
+ domain: otpRecord.domain,
+ }
+}
+
+
+