예제 #1
0
        public Response Generate(GenerateOTPRequest request)
        {
            Response response = new Response();

            try
            {
                if (string.IsNullOrEmpty(request.Email) && string.IsNullOrEmpty(request.PhoneNumber))
                {
                    response.Status      = false;
                    response.Description = "Kindly provide Email or Phone Number";
                    return(response);
                }
                Random     generator = new Random();
                String     r         = generator.Next(0, 999999).ToString("D6");
                string     sql       = "update OTPDetails set IsValidated = 1 where IsValidated = 1 and (Email = ?Email or PhoneNumber = ?PhoneNumber)";
                OTPDetails context   = new OTPDetails()
                {
                    OTP         = r,
                    Email       = request.Email,
                    PhoneNumber = request.PhoneNumber,
                    IsValidated = false
                };
                using (IDbConnection conn = GetConnection())
                {
                    conn.Execute(sql, request);
                    conn.Insert(context);
                    response.Status      = true;
                    response.Description = "Successful";
                    if (!string.IsNullOrEmpty(request.Email))
                    {
                        EmailRequest email = new EmailRequest()
                        {
                            Body    = $"Your OTP is {r}",
                            Subject = "Homes Direct Verification",
                            To      = request.Email
                        };
                        Helper.SendEmail(email);
                    }
                }
            }
            catch (Exception ex)
            {
                logger.Error(ex);
                response.Status      = false;
                response.Description = ex.Message;
            }
            return(response);
        }
예제 #2
0
            internal UpdateMachineAuthCallback(CMsgClientUpdateMachineAuth msg)
            {
                Data = msg.bytes;

                BytesToWrite = ( int )msg.cubtowrite;
                Offset       = ( int )msg.offset;

                FileName = msg.filename;

                OneTimePassword = new OTPDetails
                {
                    Type         = msg.otp_type,
                    Identifier   = msg.otp_identifier,
                    SharedSecret = msg.otp_sharedsecret,
                    TimeDrift    = msg.otp_timedrift,
                };
            }
예제 #3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="MachineAuthDetails"/> class.
 /// </summary>
 public MachineAuthDetails()
 {
     OneTimePassword = new OTPDetails();
 }
예제 #4
0
            internal UpdateMachineAuthCallback( CMsgClientUpdateMachineAuth msg )
#endif
            {
                Data = msg.bytes;

                BytesToWrite = ( int )msg.cubtowrite;
                Offset = ( int )msg.offset;

                FileName = msg.filename;

                OneTimePassword = new OTPDetails
                {
                    Type = msg.otp_type,
                    Identifier = msg.otp_identifier,
                    SharedSecret = msg.otp_sharedsecret,
                    TimeDrift = msg.otp_timedrift,
                };
            }
예제 #5
0
파일: SteamUser.cs 프로젝트: stil/SteamKit
 /// <summary>
 /// Initializes a new instance of the <see cref="MachineAuthDetails"/> class.
 /// </summary>
 public MachineAuthDetails()
 {
     OneTimePassword = new OTPDetails();
 }