WebApi: sendsms, setphone
This commit is contained in:
parent
01639a56cc
commit
a8527e1a57
@ -188,12 +188,63 @@ namespace ASC.Web.Api.Controllers
|
|||||||
return EmailValidationKeyModelHelper.Validate(model);
|
return EmailValidationKeyModelHelper.Validate(model);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Create("setphone", false)]
|
||||||
|
public AuthenticationTokenData SaveMobilePhoneFromBody([FromBody]AuthModel model)
|
||||||
|
{
|
||||||
|
return SaveMobilePhone(model);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Create("setphone", false)]
|
||||||
|
[Consumes("application/x-www-form-urlencoded")]
|
||||||
|
public AuthenticationTokenData SaveMobilePhoneFromForm([FromForm]AuthModel model)
|
||||||
|
{
|
||||||
|
return SaveMobilePhone(model);
|
||||||
|
}
|
||||||
|
|
||||||
|
private AuthenticationTokenData SaveMobilePhone(AuthModel model)
|
||||||
|
{
|
||||||
|
var user = GetUser(model, out _);
|
||||||
|
model.MobilePhone = SmsManager.SaveMobilePhone(user, model.MobilePhone);
|
||||||
|
MessageService.Send(MessageAction.UserUpdatedMobileNumber, MessageTarget.Create(user.ID), user.DisplayUserName(false, DisplayUserSettingsHelper), model.MobilePhone);
|
||||||
|
|
||||||
|
return new AuthenticationTokenData
|
||||||
|
{
|
||||||
|
Sms = true,
|
||||||
|
PhoneNoise = SmsSender.BuildPhoneNoise(model.MobilePhone),
|
||||||
|
Expires = new ApiDateTime(TenantManager, TimeZoneConverter, DateTime.UtcNow.Add(SmsKeyStorage.StoreInterval))
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
[Create(@"sendsms", false)]
|
||||||
|
public AuthenticationTokenData SendSmsCodeFromBody([FromBody]AuthModel model)
|
||||||
|
{
|
||||||
|
return SendSmsCode(model);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Create(@"sendsms", false)]
|
||||||
|
[Consumes("application/x-www-form-urlencoded")]
|
||||||
|
public AuthenticationTokenData SendSmsCodeFromForm([FromForm]AuthModel model)
|
||||||
|
{
|
||||||
|
return SendSmsCode(model);
|
||||||
|
}
|
||||||
|
|
||||||
|
private AuthenticationTokenData SendSmsCode(AuthModel model)
|
||||||
|
{
|
||||||
|
var user = GetUser(model, out _);
|
||||||
|
SmsManager.PutAuthCode(user, true);
|
||||||
|
|
||||||
|
return new AuthenticationTokenData
|
||||||
|
{
|
||||||
|
Sms = true,
|
||||||
|
PhoneNoise = SmsSender.BuildPhoneNoise(user.MobilePhone),
|
||||||
|
Expires = new ApiDateTime(TenantManager, TimeZoneConverter, DateTime.UtcNow.Add(SmsKeyStorage.StoreInterval))
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
private AuthenticationTokenData AuthenticateMe(AuthModel auth)
|
private AuthenticationTokenData AuthenticateMe(AuthModel auth)
|
||||||
{
|
{
|
||||||
var tenant = TenantManager.GetCurrentTenant().TenantId;
|
|
||||||
|
|
||||||
bool viaEmail;
|
bool viaEmail;
|
||||||
var user = GetUser(tenant, auth, out viaEmail);
|
var user = GetUser(auth, out viaEmail);
|
||||||
|
|
||||||
if (StudioSmsNotificationSettingsHelper.IsVisibleSettings() && StudioSmsNotificationSettingsHelper.Enable)
|
if (StudioSmsNotificationSettingsHelper.IsVisibleSettings() && StudioSmsNotificationSettingsHelper.Enable)
|
||||||
{
|
{
|
||||||
@ -239,6 +290,7 @@ namespace ASC.Web.Api.Controllers
|
|||||||
|
|
||||||
MessageService.Send(viaEmail ? MessageAction.LoginSuccessViaApi : MessageAction.LoginSuccessViaApiSocialAccount);
|
MessageService.Send(viaEmail ? MessageAction.LoginSuccessViaApi : MessageAction.LoginSuccessViaApiSocialAccount);
|
||||||
|
|
||||||
|
var tenant = TenantManager.GetCurrentTenant().TenantId;
|
||||||
var expires = TenantCookieSettingsHelper.GetExpiresTime(tenant);
|
var expires = TenantCookieSettingsHelper.GetExpiresTime(tenant);
|
||||||
|
|
||||||
return new AuthenticationTokenData
|
return new AuthenticationTokenData
|
||||||
@ -261,7 +313,7 @@ namespace ASC.Web.Api.Controllers
|
|||||||
private AuthenticationTokenData AuthenticateMeWithCode(AuthModel auth)
|
private AuthenticationTokenData AuthenticateMeWithCode(AuthModel auth)
|
||||||
{
|
{
|
||||||
var tenant = TenantManager.GetCurrentTenant().TenantId;
|
var tenant = TenantManager.GetCurrentTenant().TenantId;
|
||||||
var user = GetUser(tenant, auth, out _);
|
var user = GetUser(auth, out _);
|
||||||
|
|
||||||
var sms = false;
|
var sms = false;
|
||||||
try
|
try
|
||||||
@ -321,7 +373,7 @@ namespace ASC.Web.Api.Controllers
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private UserInfo GetUser(int tenantId, AuthModel memberModel, out bool viaEmail)
|
private UserInfo GetUser(AuthModel memberModel, out bool viaEmail)
|
||||||
{
|
{
|
||||||
viaEmail = true;
|
viaEmail = true;
|
||||||
var action = MessageAction.LoginFailViaApi;
|
var action = MessageAction.LoginFailViaApi;
|
||||||
@ -361,7 +413,7 @@ namespace ASC.Web.Api.Controllers
|
|||||||
}
|
}
|
||||||
|
|
||||||
user = UserManager.GetUsersByPasswordHash(
|
user = UserManager.GetUsersByPasswordHash(
|
||||||
tenantId,
|
TenantManager.GetCurrentTenant().TenantId,
|
||||||
memberModel.UserName,
|
memberModel.UserName,
|
||||||
memberModel.PasswordHash);
|
memberModel.PasswordHash);
|
||||||
|
|
||||||
|
@ -9,5 +9,6 @@
|
|||||||
public string AccessToken { get; set; }
|
public string AccessToken { get; set; }
|
||||||
public string SerializedProfile { get; set; }
|
public string SerializedProfile { get; set; }
|
||||||
public string Code { get; set; }
|
public string Code { get; set; }
|
||||||
|
public string MobilePhone { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user