webdav portal password reset added

This commit is contained in:
vfedosevich 2015-04-14 00:40:11 -07:00
parent 4bae47e17f
commit 599e9a8865
48 changed files with 1163 additions and 117 deletions

View file

@ -0,0 +1,46 @@
using System;
using System.Globalization;
using WebsitePanel.WebDav.Core.Config;
using WebsitePanel.WebDav.Core.Interfaces.Security;
using WebsitePanel.WebDav.Core.Interfaces.Services;
namespace WebsitePanel.WebDav.Core.Security.Authentication
{
public class SmsAuthenticationService : ISmsAuthenticationService
{
private ISmsDistributionService _smsService;
public SmsAuthenticationService(ISmsDistributionService smsService)
{
_smsService = smsService;
}
public bool VerifyResponse( Guid token, string response)
{
var accessToken = WspContext.Services.Organizations.GetPasswordresetAccessToken(token);
if (accessToken == null)
{
return false;
}
return string.Compare(accessToken.SmsResponse, response, StringComparison.InvariantCultureIgnoreCase) == 0;
}
public string SendRequestMessage(string phoneTo)
{
var response = GenerateResponse();
_smsService.SendMessage(WebDavAppConfigManager.Instance.TwilioParameters.PhoneFrom, phoneTo, response);
return response;
}
public string GenerateResponse()
{
var random = new Random(Guid.NewGuid().GetHashCode());
return random.Next(10000, 99999).ToString(CultureInfo.InvariantCulture);
}
}
}