در اینجا ، ما یک جریان برای OTP (یک بار رمز عبور) برای ثبت نام کاربر و همچنین مسدود کردن حساب کاربر پس از بیش از حداکثر تلاش مجدد برای otp نادرست ، طراحی و توسعه داده ایم.
ما مراحل تولید ، تأیید صحت و مسدود کردن حساب کاربر را طی خواهیم کرد.
Step 1:
OTP Generation:
Code (Part-I):
src/auth/auth.controller.ts
import {
Controller,
Post,
Req,
UseGuards,
Get,
Body,
BadRequestException,
Param,
NotFoundException,
} from "@nestjs/common";
import { JwtAuthGuard } from "./auth.guard";
import { LoggedInToken } from "../users/objects/login-user.dto";
import { AuthService } from "./auth.service";
import * as speakeasy from "speakeasy";
import { optSecret } from "../common/constants/config";
import {
UNKNOWN_PARAM,
EMAIL_NOT_FOUND,
OTP_ERROR,
EXISTS,
OTP_NOT_EXPIRED,
NEW_PASSWORD_AND_CONFIRM_NEW_PASSWORD_ERROR,
OTP_TIME_OUT,
TOKEN_ALREADY_USED,
EMAIL_ERROR,
BLOCKED_ACCOUNT_ERROR,
} from "../common/constants/string";
import { plainToClass } from "class-transformer";
import { success } from "../common/base/httpResponse.interface";
import { UserDto } from "../users/objects/create-user.dto";
import { OtpEmail, UserCycloanAccountBlockedEmail } from "../users/objects/user.registered.email";
import {
ForgetPasswordOtpEmail,
...