public void VerifyIdentityVerificationCodeShouldCorrectlyIncrementFailedAttempts() { var referenceNumber = "TEST-REFERENCE-NUMBER"; var ipAddress = "TEST-IP-ADDRESS"; var validationAttempts = 10; dataToCleanUp.Add(new string[] { referenceNumber, ipAddress }); using (var rockContext = new RockContext()) { var service = new IdentityVerificationService(rockContext); var verificationRecord = service.CreateIdentityVerificationRecord(ipAddress, 10, referenceNumber); Assert.That.IsNotNull(verificationRecord); service.VerifyIdentityVerificationCode(verificationRecord.Id, 1, "Fail1", validationAttempts); service.VerifyIdentityVerificationCode(verificationRecord.Id, 1, "Fail2", validationAttempts); service.VerifyIdentityVerificationCode(verificationRecord.Id, 1, "Fail3", validationAttempts); service.VerifyIdentityVerificationCode(verificationRecord.Id, 1, "Fail4", validationAttempts); service.VerifyIdentityVerificationCode(verificationRecord.Id, 1, "Fail5", validationAttempts); var actualVerificationRecord = service.Get(verificationRecord.Id); Assert.That.AreEqual(5, actualVerificationRecord.FailedMatchAttemptCount); } }
protected void btnLookup_Click(object sender, EventArgs e) { if (!Page.IsValid) { return; } var ipLimit = GetAttributeValue(AttributeKey.IpThrottleLimit).AsInteger(); var messageTemplate = GetAttributeValue(AttributeKey.TextMessageTemplate); var fromNumber = GetAttributeValue(AttributeKey.SmsNumber); var phoneNumber = pbPhoneNumberLookup.Number; try { using (var rockContext = new RockContext()) { var identityVerificationService = new IdentityVerificationService(rockContext); var identityVerification = identityVerificationService.CreateIdentityVerificationRecord(Request.UserHostAddress, ipLimit, phoneNumber); var smsMessage = new RockSMSMessage { FromNumber = DefinedValueCache.Get(fromNumber), Message = messageTemplate, }; var mergeObjects = LavaHelper.GetCommonMergeFields(this.RockPage); mergeObjects.Add("ConfirmationCode", identityVerification.IdentityVerificationCode.Code); smsMessage.SetRecipients(new List <RockSMSMessageRecipient> { RockSMSMessageRecipient.CreateAnonymous(phoneNumber, mergeObjects) }); var errorList = new List <string>(); if (smsMessage.Send(out errorList)) { IdentityVerificationId = identityVerification.Id; ShowVerificationPage(); } else { ShowWarningMessage("Verification text message failed to send."); } } } catch (Exception ex) { ShowWarningMessage(ex.Message); RockLogger.Log.Error(RockLogDomains.Core, ex); ExceptionLogService.LogException(ex); } }
private bool IsVerificationCodeValid(RockContext rockContext, string phoneNumber) { var timeLimit = GetAttributeValue(AttributeKey.VerificationTimeLimit).AsInteger(); var verificationCode = string.Format("{0}{1}{2}{3}{4}{5}", nbVerificationCodeBox1.Text, nbVerificationCodeBox2.Text, nbVerificationCodeBox3.Text, nbVerificationCodeBox4.Text, nbVerificationCodeBox5.Text, nbVerificationCodeBox6.Text); var identityVerificationService = new IdentityVerificationService(rockContext); return(identityVerificationService.VerifyIdentityVerificationCode(phoneNumber, timeLimit, verificationCode)); }
public void CreateIdentityVerificationRecordReturnsValue() { var referenceNumber = "TEST-REFERENCE-NUMBER"; var ipAddress = "TEST-IP-ADDRESS"; dataToCleanUp.Add(new string[] { referenceNumber, ipAddress }); using (var rockContext = new RockContext()) { var service = new IdentityVerificationService(rockContext); var verificationRecord = service.CreateIdentityVerificationRecord(ipAddress, 10, referenceNumber); Assert.That.IsNotNull(verificationRecord); } }
public void CreateIdentityVerificationRecordShouldNotThrowExceptionIfAtIpLimit() { var ipLimit = 9; var referenceNumber = "TEST-REFERENCE-NUMBER"; var ipAddress = "TEST-IP-ADDRESS"; CreateIdentityVerificationRecords(ipLimit - 1, referenceNumber, ipAddress); using (var rockContext = new RockContext()) { var service = new IdentityVerificationService(rockContext); var verificationRecord = service.CreateIdentityVerificationRecord(ipAddress, ipLimit, referenceNumber); Assert.That.IsNotNull(verificationRecord); } }
public void CreateIdentityVerificationRecordShouldThrowExceptionIfOverIpLimit() { var ipLimit = 10; var referenceNumber = "TEST-REFERENCE-NUMBER"; var ipAddress = "TEST-IP-ADDRESS"; CreateIdentityVerificationRecords(ipLimit, referenceNumber, ipAddress); using (var rockContext = new RockContext()) { var service = new IdentityVerificationService(rockContext); Assert.That.ThrowsException <IdentityVerificationIpLimitReachedException>( () => service.CreateIdentityVerificationRecord(ipAddress, ipLimit, referenceNumber) ); } }
public void VerifyIdentityVerificationCodeShouldNotValidateIfWrongVerificationCode() { var referenceNumber = "TEST-REFERENCE-NUMBER"; var ipAddress = "TEST-IP-ADDRESS"; dataToCleanUp.Add(new string[] { referenceNumber, ipAddress }); using (var rockContext = new RockContext()) { var service = new IdentityVerificationService(rockContext); var verificationRecord = service.CreateIdentityVerificationRecord(ipAddress, 10, referenceNumber); Assert.That.IsNotNull(verificationRecord); Assert.That.IsFalse(service.VerifyIdentityVerificationCode(referenceNumber, 1, "120003")); } }
public void VerifyIdentityVerificationCodeShouldValidateCorrectly() { var referenceNumber = "TEST-REFERENCE-NUMBER"; var ipAddress = "TEST-IP-ADDRESS"; var validationAttempts = 10; dataToCleanUp.Add(new string[] { referenceNumber, ipAddress }); using (var rockContext = new RockContext()) { var service = new IdentityVerificationService(rockContext); var verificationRecord = service.CreateIdentityVerificationRecord(ipAddress, 10, referenceNumber); Assert.That.IsNotNull(verificationRecord); Assert.That.IsTrue(service.VerifyIdentityVerificationCode(verificationRecord.Id, 1, verificationRecord.IdentityVerificationCode.Code, validationAttempts)); } }
public void CreateIdentityVerificationRecordShouldNotThrowExceptionWithRequestFromYesterday() { var ipLimit = 9; var referenceNumber = "TEST-REFERENCE-NUMBER"; var ipAddress = "TEST-IP-ADDRESS"; CreateIdentityVerificationRecords(ipLimit - 1, referenceNumber, ipAddress); CreateIdentityVerificationRecords(ipLimit, referenceNumber, ipAddress, RockDateTime.Today.AddSeconds(-10)); CreateIdentityVerificationRecords(20, referenceNumber, $"{ipAddress}-2"); CreateIdentityVerificationRecords(20, $"{referenceNumber}-3", $"{ipAddress}-3"); CreateIdentityVerificationRecords(20, $"{referenceNumber}-4", $"{ipAddress}-4"); using (var rockContext = new RockContext()) { var service = new IdentityVerificationService(rockContext); var verificationRecord = service.CreateIdentityVerificationRecord(ipAddress, ipLimit, referenceNumber); Assert.That.IsNotNull(verificationRecord); } }
public void VerifyIdentityVerificationCodeShouldNotValidateIfTimeLimitExpired() { var referenceNumber = "TEST-REFERENCE-NUMBER"; var ipAddress = "TEST-IP-ADDRESS"; dataToCleanUp.Add(new string[] { referenceNumber, ipAddress }); using (var rockContext = new RockContext()) { var service = new IdentityVerificationService(rockContext); var verificationRecord = service.CreateIdentityVerificationRecord(ipAddress, 10, referenceNumber); Assert.That.IsNotNull(verificationRecord); verificationRecord.IssueDateTime = verificationRecord.IssueDateTime.AddSeconds(-61); rockContext.SaveChanges(); Assert.That.IsFalse(service.VerifyIdentityVerificationCode(referenceNumber, 1, verificationRecord.IdentityVerificationCode.Code)); } }
public void VerifyIdentityVerificationCodeShouldNotValidateIfTooManyAttempts() { var referenceNumber = "TEST-REFERENCE-NUMBER"; var ipAddress = "TEST-IP-ADDRESS"; var validationAttempts = 10; dataToCleanUp.Add(new string[] { referenceNumber, ipAddress }); using (var rockContext = new RockContext()) { var service = new IdentityVerificationService(rockContext); var verificationRecord = service.CreateIdentityVerificationRecord(ipAddress, 10, referenceNumber); Assert.That.IsNotNull(verificationRecord); verificationRecord.FailedMatchAttemptCount = 10; rockContext.SaveChanges(); Assert.That.IsFalse(service.VerifyIdentityVerificationCode(verificationRecord.Id, 1, verificationRecord.IdentityVerificationCode.Code, validationAttempts)); } }
static void Main(string[] args) { long count = 1; IIdentityVerificationService ıdentityVerificationService = new IdentityVerificationService(); IAuthorizationService authorizationService = new AuthorizationService(); IUserService userService = new UserService(); IGameService gameService = new GameService(); //New gamer Gamer gamer = new Gamer { RegisterNumber = Guid.NewGuid().ToString().Substring(0, 10), Email = "*****@*****.**", Avatar = "~/Images/avatar.ico", FirstName = "ad", LastName = "soyad", CreationTime = DateTime.Now, Id = count, IsActive = true, IsEmailVerification = false, ModificationTime = null, NickName = "Gamer1", Password = "******", BirthYear = 1991, IdentityNumber = "1111111111", JoinCampaignCount = 0, MembershipDate = DateTime.Now }; Game game = new Game { CurrencyId = 1, GameType = "Actin", Id = 1, IsAutomaticSale = false, Name = "LOTR", PosterUrl = "~/Images/lotr.png", ReleaseDate = DateTime.Now.Date, SalePrice = 299, Size = 10024 }; gameService.Create(game); // not> ad-soyad-doğum yılı ve kimlik numaranızı girerek bu aşamayı geçebilirsiniz. örnek verilerden dolayı false döner. if (gamer.IdentityNumber.Length == 11) { var returnIdentityControl = ıdentityVerificationService.TCQuery(gamer.FirstName, gamer.LastName, gamer.IdentityNumber, 1992); if (returnIdentityControl)//tc kimlik no doğrulandı { var returnUserId = userService.CreateAndReturnUserId(gamer); if (returnUserId > 0) { authorizationService.AddUserAuthorization(returnUserId, "BasicGamer"); //yetkilendirme veriyoruz. } Console.WriteLine("********************"); Console.WriteLine("1-)Sale\n2-ApplyCampaign)"); Console.WriteLine("************************"); int choice = Convert.ToInt32(Console.ReadLine()); if (choice == 1) { Console.WriteLine("Game " + game.Name + " sold for " + gamer.Email); } if (choice == 2) { Console.WriteLine("********************"); Console.WriteLine("1-)%10\n2-%20)"); Console.WriteLine("************************"); int choice2 = Convert.ToInt32(Console.ReadLine()); if (choice2 == 1) { var result = game.SalePrice - ((game.SalePrice * 10) / 100); Console.WriteLine("%10 Discount applied for {0}", game.Name); Console.WriteLine("Sale Amount {0}", result); } else if (choice2 == 2) { var result = game.SalePrice - ((game.SalePrice * 20) / 100); Console.WriteLine("%20 Discount applied for {0}", game.Name); Console.WriteLine("Sale Amount {0}", result); } } } else { Console.WriteLine("Your IdentityNumber could not be verified"); } Console.WriteLine(); } else { Console.WriteLine("Your IdentityNumber length short or long than 11"); } }