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);
|
||||
}
|
||||
|
||||
[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)
|
||||
{
|
||||
var tenant = TenantManager.GetCurrentTenant().TenantId;
|
||||
|
||||
bool viaEmail;
|
||||
var user = GetUser(tenant, auth, out viaEmail);
|
||||
var user = GetUser(auth, out viaEmail);
|
||||
|
||||
if (StudioSmsNotificationSettingsHelper.IsVisibleSettings() && StudioSmsNotificationSettingsHelper.Enable)
|
||||
{
|
||||
@ -238,7 +289,8 @@ namespace ASC.Web.Api.Controllers
|
||||
CookiesManager.SetCookies(CookiesType.AuthKey, token);
|
||||
|
||||
MessageService.Send(viaEmail ? MessageAction.LoginSuccessViaApi : MessageAction.LoginSuccessViaApiSocialAccount);
|
||||
|
||||
|
||||
var tenant = TenantManager.GetCurrentTenant().TenantId;
|
||||
var expires = TenantCookieSettingsHelper.GetExpiresTime(tenant);
|
||||
|
||||
return new AuthenticationTokenData
|
||||
@ -261,7 +313,7 @@ namespace ASC.Web.Api.Controllers
|
||||
private AuthenticationTokenData AuthenticateMeWithCode(AuthModel auth)
|
||||
{
|
||||
var tenant = TenantManager.GetCurrentTenant().TenantId;
|
||||
var user = GetUser(tenant, auth, out _);
|
||||
var user = GetUser(auth, out _);
|
||||
|
||||
var sms = false;
|
||||
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;
|
||||
var action = MessageAction.LoginFailViaApi;
|
||||
@ -361,7 +413,7 @@ namespace ASC.Web.Api.Controllers
|
||||
}
|
||||
|
||||
user = UserManager.GetUsersByPasswordHash(
|
||||
tenantId,
|
||||
TenantManager.GetCurrentTenant().TenantId,
|
||||
memberModel.UserName,
|
||||
memberModel.PasswordHash);
|
||||
|
||||
|
@ -9,5 +9,6 @@
|
||||
public string AccessToken { get; set; }
|
||||
public string SerializedProfile { get; set; }
|
||||
public string Code { get; set; }
|
||||
public string MobilePhone { get; set; }
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user