|
|
@ -30,8 +30,8 @@ namespace LINGYUN.Abp.Account |
|
|
protected IIdentityUserRepository UserRepository { get; } |
|
|
protected IIdentityUserRepository UserRepository { get; } |
|
|
protected IUserSecurityCodeSender SecurityCodeSender { get; } |
|
|
protected IUserSecurityCodeSender SecurityCodeSender { get; } |
|
|
protected IWeChatOpenIdFinder WeChatOpenIdFinder { get; } |
|
|
protected IWeChatOpenIdFinder WeChatOpenIdFinder { get; } |
|
|
|
|
|
protected IOptions<IdentityOptions> IdentityOptions { get; } |
|
|
protected AbpWeChatMiniProgramOptionsFactory MiniProgramOptionsFactory { get; } |
|
|
protected AbpWeChatMiniProgramOptionsFactory MiniProgramOptionsFactory { get; } |
|
|
|
|
|
|
|
|
protected IDistributedCache<SmsSecurityTokenCacheItem> SecurityTokenCache { get; } |
|
|
protected IDistributedCache<SmsSecurityTokenCacheItem> SecurityTokenCache { get; } |
|
|
|
|
|
|
|
|
public AccountAppService( |
|
|
public AccountAppService( |
|
|
@ -42,7 +42,8 @@ namespace LINGYUN.Abp.Account |
|
|
IIdentityUserRepository userRepository, |
|
|
IIdentityUserRepository userRepository, |
|
|
IUserSecurityCodeSender securityCodeSender, |
|
|
IUserSecurityCodeSender securityCodeSender, |
|
|
IDistributedCache<SmsSecurityTokenCacheItem> securityTokenCache, |
|
|
IDistributedCache<SmsSecurityTokenCacheItem> securityTokenCache, |
|
|
AbpWeChatMiniProgramOptionsFactory miniProgramOptionsFactory) |
|
|
AbpWeChatMiniProgramOptionsFactory miniProgramOptionsFactory, |
|
|
|
|
|
IOptions<IdentityOptions> identityOptions) |
|
|
{ |
|
|
{ |
|
|
TotpService = totpService; |
|
|
TotpService = totpService; |
|
|
UserStore = userStore; |
|
|
UserStore = userStore; |
|
|
@ -52,6 +53,7 @@ namespace LINGYUN.Abp.Account |
|
|
SecurityCodeSender = securityCodeSender; |
|
|
SecurityCodeSender = securityCodeSender; |
|
|
SecurityTokenCache = securityTokenCache; |
|
|
SecurityTokenCache = securityTokenCache; |
|
|
MiniProgramOptionsFactory = miniProgramOptionsFactory; |
|
|
MiniProgramOptionsFactory = miniProgramOptionsFactory; |
|
|
|
|
|
IdentityOptions = identityOptions; |
|
|
|
|
|
|
|
|
LocalizationResource = typeof(AccountResource); |
|
|
LocalizationResource = typeof(AccountResource); |
|
|
} |
|
|
} |
|
|
@ -59,7 +61,9 @@ namespace LINGYUN.Abp.Account |
|
|
public virtual async Task RegisterAsync(WeChatRegisterDto input) |
|
|
public virtual async Task RegisterAsync(WeChatRegisterDto input) |
|
|
{ |
|
|
{ |
|
|
ThowIfInvalidEmailAddress(input.EmailAddress); |
|
|
ThowIfInvalidEmailAddress(input.EmailAddress); |
|
|
|
|
|
|
|
|
await CheckSelfRegistrationAsync(); |
|
|
await CheckSelfRegistrationAsync(); |
|
|
|
|
|
await IdentityOptions.SetAsync(); |
|
|
|
|
|
|
|
|
var options = await MiniProgramOptionsFactory.CreateAsync(); |
|
|
var options = await MiniProgramOptionsFactory.CreateAsync(); |
|
|
|
|
|
|
|
|
@ -130,6 +134,7 @@ namespace LINGYUN.Abp.Account |
|
|
public virtual async Task RegisterAsync(PhoneRegisterDto input) |
|
|
public virtual async Task RegisterAsync(PhoneRegisterDto input) |
|
|
{ |
|
|
{ |
|
|
await CheckSelfRegistrationAsync(); |
|
|
await CheckSelfRegistrationAsync(); |
|
|
|
|
|
await IdentityOptions.SetAsync(); |
|
|
await CheckNewUserPhoneNumberNotBeUsedAsync(input.PhoneNumber); |
|
|
await CheckNewUserPhoneNumberNotBeUsedAsync(input.PhoneNumber); |
|
|
|
|
|
|
|
|
var securityTokenCacheKey = SmsSecurityTokenCacheItem.CalculateCacheKey(input.PhoneNumber, "SmsVerifyCode"); |
|
|
var securityTokenCacheKey = SmsSecurityTokenCacheItem.CalculateCacheKey(input.PhoneNumber, "SmsVerifyCode"); |
|
|
@ -223,6 +228,7 @@ namespace LINGYUN.Abp.Account |
|
|
{ |
|
|
{ |
|
|
throw new UserFriendlyException(L["InvalidSmsVerifyCode"]); |
|
|
throw new UserFriendlyException(L["InvalidSmsVerifyCode"]); |
|
|
} |
|
|
} |
|
|
|
|
|
await IdentityOptions.SetAsync(); |
|
|
// 传递 isConfirmed 用户必须是已确认过手机号的
|
|
|
// 传递 isConfirmed 用户必须是已确认过手机号的
|
|
|
var user = await GetUserByPhoneNumberAsync(input.PhoneNumber, isConfirmed: true); |
|
|
var user = await GetUserByPhoneNumberAsync(input.PhoneNumber, isConfirmed: true); |
|
|
// 验证二次认证码
|
|
|
// 验证二次认证码
|
|
|
|