๋ณด์์ ์ธ ์ด์๊ฐ ๋๋ ์ด ๊ธ์ฆํ๋ฉด์, 2-Factor ์ธ์ฆ์ ๋์ ํ๋ ์ถ์ธ๊ฐ ๋๊ณ ์์ต๋๋ค.
์ด๋ฒ ํฌ์คํ ์์๋ ๊ฐ๋จํ๊ฒ OTP ์ธ์ฆ์ ํตํ ํ์๊ฐ์ ๋ฐ ๋ก๊ทธ์ธ์ ์งํ ํด ๋ณด๊ฒ ์ต๋๋ค.
ํ๋จ ๋งํฌ๋ฅผ ํตํด์ ์์ ์ ๊ธฐ์ข ์ ๋ง๋ OTP ์ดํ๋ฆฌ์ผ์ด์ ์ ์ค์นํ์๊ธฐ ๋ฐ๋๋๋ค.
$ npm install base64-img, otplib, qrcode
โผ OTP ์์ฑ
@createdOTP
OTP SecretKey๋ฅผ ์์ฑํ๋ ํจ์์ ๋๋ค.
@verifyOTP
์ ๋ ฅํ OTP ๊ฐ์ ๊ฒ์ฆํ๋ ํจ์์ ๋๋ค.
โผ OTP ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ QR Code ์์ฑ
@createQRCode
QR Code๋ฅผ ์์ฑํ๋ ํจ์์ ๋๋ค.
โผ DATABASE TABLE
โผ QR Code ์์ฑ
โผ QR Code Scan
โผ ๋ก๊ทธ์ธ
ํ์๊ฐ์ ์ ํตํด OTP QR Code๋ฅผ ์ฌ์ฉ์ ๋ฉ์ผ๋ก ์ ์ก
$ npm install nodemailer
โผ QR Code๋ฅผ ์ฌ์ฉ์ ๋ฉ์ผ๋ก ์ ์ก
@createTransport
mailer SMTP ์ค์
@sendMail
๋ฉ์ผ ์ ์ก
โผ ์ฌ์ฉ์ ๋ฉ์ผ ์์
์ถ์ฒ