public async Task <InvokeResult> ValidateSMSAsync(VerfiyPhoneNumber verifyRequest, EntityHeader orgHeader, EntityHeader userHeader) { var user = await _userManager.FindByIdAsync(userHeader.Id); if (user == null) { _adminLogger.AddCustomEvent(Core.PlatformSupport.LogLevel.Error, "UserVerficationManager_ValidateSMSAsync", "Could not get current user."); return(InvokeResult.FromErrors(UserAdminErrorCodes.AuthCouldNotFindUserAccount.ToErrorMessage())); } var result = await _userManager.ChangePhoneNumberAsync(user, verifyRequest.PhoneNumber, verifyRequest.SMSCode); if (result.Successful) { _adminLogger.AddCustomEvent(Core.PlatformSupport.LogLevel.Verbose, "UserVerficationManager_ValidateSMSAsync", "Success_ConfirmSMS", new KeyValuePair <string, string>("phone", verifyRequest.PhoneNumber), new KeyValuePair <string, string>("code", verifyRequest.SMSCode)); return(InvokeResult.Success); } else { _adminLogger.LogInvokeResult("UserVerficationManager_ValidateEmailAsync", result, new KeyValuePair <string, string>("phone", verifyRequest.PhoneNumber), new KeyValuePair <string, string>("sentToken", verifyRequest.SMSCode)); return(result); } }
public async void ConfirmSMSCode() { var result = await PerformNetworkOperation(async() => { var vm = new VerfiyPhoneNumber(); vm.PhoneNumber = PhoneNumber; vm.SMSCode = SMSCode; var confirmSMSResult = await RestClient.PostAsync("/api/verify/sms", vm, new CancellationTokenSource()); if (!confirmSMSResult.Successful) { return(confirmSMSResult); } var refreshResult = await RefreshUserFromServerAsync(); if (!refreshResult.Successful) { return(refreshResult); } Logger.AddCustomEvent(LagoVista.Core.PlatformSupport.LogLevel.Error, "VerifyUserViewModel_ConfirmSMSCode", "SMS Confirmed", new KeyValuePair <string, string>("userid", AuthManager.User.Id)); await Popups.ShowAsync(ClientResources.Verify_SMS_Confirmed); ShowPhoneConfirm = false; ShowEmailConfirm = true; return(refreshResult); }); if (result.Successful) { await TransitionToNextView(); } }
public async void SendSMSConfirmation() { var result = await PerformNetworkOperation(async() => { var vm = new VerfiyPhoneNumber(); vm.PhoneNumber = PhoneNumber; var sendMSM = await RestClient.PostAsync("/api/verify/sendsmscode", vm, new CancellationTokenSource()); return(sendMSM); }); if (result.Successful) { await Popups.ShowAsync(ClientResources.Verify_SMSSent); } }
public async Task <InvokeResult> SendSMSCodeAsync(VerfiyPhoneNumber sendSMSCode, EntityHeader orgHeader, EntityHeader userHeader) { if (String.IsNullOrEmpty(sendSMSCode.PhoneNumber)) { _adminLogger.AddCustomEvent(Core.PlatformSupport.LogLevel.Error, "UserVerficationManager_SendSMSCodeAsync", UserAdminErrorCodes.RegMissingEmail.Message); return(InvokeResult.FromErrors(UserAdminErrorCodes.RegMissingPhoneNumber.ToErrorMessage())); } var user = await _userManager.FindByIdAsync(userHeader.Id); if (user == null) { _adminLogger.AddCustomEvent(Core.PlatformSupport.LogLevel.Error, "UserVerficationManager_SendSMSCodeAsync", "Could not get current user."); return(InvokeResult.FromErrors(UserAdminErrorCodes.AuthCouldNotFindUserAccount.ToErrorMessage())); } try { var code = await _userManager.GenerateChangePhoneNumberTokenAsync(user, sendSMSCode.PhoneNumber); var result = await _smsSender.SendAsync(sendSMSCode.PhoneNumber, UserAdminResources.SMS_Verification_Body.Replace("[CODE]", code).Replace("[APP_NAME]", _appConfig.AppName)); _adminLogger.LogInvokeResult("UserVerficationManager_SendSMSCodeAsync", result, new KeyValuePair <string, string>("phone", sendSMSCode.PhoneNumber), new KeyValuePair <string, string>("code", code)); return(result); } catch (Exception ex) { _adminLogger.AddException("UserVerficationManager_SendSMSCodeAsync", ex); return(InvokeResult.FromErrors(UserAdminErrorCodes.RegErrorSendingSMS.ToErrorMessage(), new ErrorMessage() { Message = ex.Message })); } }
public Task <InvokeResult> ValidateSMSAsync([FromBody] VerfiyPhoneNumber verifyRequest) { return(_userVerificationManager.ValidateSMSAsync(verifyRequest, OrgEntityHeader, UserEntityHeader)); }
public Task <InvokeResult> SendSMSCodeAsync([FromBody] VerfiyPhoneNumber sendSMSCode) { return(_userVerificationManager.SendSMSCodeAsync(sendSMSCode, OrgEntityHeader, UserEntityHeader)); }