(
+ $"TextTemplate:{AccountEmailTemplates.MailSecurityVerifyLink}"),
layout: StandardEmailTemplates.Layout,
- localizationResource: typeof(AccountResource)
- ).WithVirtualFilePath("/Emailing/Templates/MailSecurityVerify.tpl", true)
+ localizationResource: typeof(AbpAccountResource)
+ ).WithVirtualFilePath("/LINGYUN/Abp/Account/Emailing/Templates/MailSecurityVerify.tpl", true)
);
}
}
diff --git a/aspnet-core/services/LY.MicroService.identityServer/Emailing/Templates/AccountEmailTemplates.cs b/aspnet-core/modules/account/LINGYUN.Abp.Account.Domain.Shared/LINGYUN/Abp/Account/Emailing/Templates/AccountEmailTemplates.cs
similarity index 100%
rename from aspnet-core/services/LY.MicroService.identityServer/Emailing/Templates/AccountEmailTemplates.cs
rename to aspnet-core/modules/account/LINGYUN.Abp.Account.Domain.Shared/LINGYUN/Abp/Account/Emailing/Templates/AccountEmailTemplates.cs
diff --git a/aspnet-core/services/LY.MicroService.identityServer/Emailing/Templates/MailSecurityVerify.tpl b/aspnet-core/modules/account/LINGYUN.Abp.Account.Domain.Shared/LINGYUN/Abp/Account/Emailing/Templates/MailSecurityVerify.tpl
similarity index 100%
rename from aspnet-core/services/LY.MicroService.identityServer/Emailing/Templates/MailSecurityVerify.tpl
rename to aspnet-core/modules/account/LINGYUN.Abp.Account.Domain.Shared/LINGYUN/Abp/Account/Emailing/Templates/MailSecurityVerify.tpl
diff --git a/aspnet-core/modules/account/LINGYUN.Abp.Account.Domain.Shared/LINGYUN/Abp/Account/Localization/AbpAccountResource.cs b/aspnet-core/modules/account/LINGYUN.Abp.Account.Domain.Shared/LINGYUN/Abp/Account/Localization/AbpAccountResource.cs
new file mode 100644
index 000000000..ebc24bbb6
--- /dev/null
+++ b/aspnet-core/modules/account/LINGYUN.Abp.Account.Domain.Shared/LINGYUN/Abp/Account/Localization/AbpAccountResource.cs
@@ -0,0 +1,8 @@
+using Volo.Abp.Localization;
+
+namespace LINGYUN.Abp.Account.Localization;
+
+[LocalizationResourceName("AbpAccountResource")]
+public class AbpAccountResource
+{
+}
diff --git a/aspnet-core/modules/account/LINGYUN.Abp.Account.Domain.Shared/LINGYUN/Abp/Account/Localization/Resources/en.json b/aspnet-core/modules/account/LINGYUN.Abp.Account.Domain.Shared/LINGYUN/Abp/Account/Localization/Resources/en.json
new file mode 100644
index 000000000..bc21bd865
--- /dev/null
+++ b/aspnet-core/modules/account/LINGYUN.Abp.Account.Domain.Shared/LINGYUN/Abp/Account/Localization/Resources/en.json
@@ -0,0 +1,33 @@
+{
+ "culture": "en",
+ "texts": {
+ "UserNotRegisterd": "The user account is not registered!",
+ "UserEmailNotConfirmed": "The user's email address is not confirmed!",
+ "SendRepeatSmsVerifyCode": "Phone verification code cannot be sent repeatedly within {0} minutes!",
+ "DuplicatePhoneNumber": "The phone number already exists!",
+ "PhoneNumberNotRegisterd": "The registered mobile phone number is not registered!",
+ "InvalidSmsVerifyCode": "The phone verification code is invalid or expired!",
+ "RequiredEmailAddress": "Email address required",
+ "InvalidPhoneNumber": "Invalid phone number",
+ "DuplicateWeChat": "The wechat has been registered!",
+ "DisplayName:SmsVerifyCode": "SMS verification code",
+ "DisplayName:EmailVerifyCode": "Mail verification code",
+ "DisplayName:WeChatCode": "Wechat login code",
+ "TwoFactor": "Two factor authentication",
+ "TwoFactor:Email": "Email",
+ "TwoFactor:Phone": "Phone",
+ "TwoFactor:Authenticator": "Authenticator",
+ "SelectedProvider": "Select validation mode",
+ "SendVerifyCode": "Send verification code",
+ "VerifyCode": "Verification code",
+ "VerifyAuthenticatorCode": "Authentication code",
+ "RememberBrowser": "Remember me in the browser",
+ "TwoFactorAuthenticationInvaidUser": "Authentication failed. Your session is invalid. Please re login try again!",
+ "InvaidGenerateTwoFactorToken": "Verification code generation failed. Please contact your administrator!",
+ "TextTemplate:Abp.Account.MailSecurityVerifyLink": "Mail security validation template",
+ "MailSecurityVerify": "Mail security verification",
+ "VerifyMyEmailAddress": "Hello {0}
Your email security verification code is as follows. Please enter the verification code to proceed to the next step.
If not operated by you, please ignore this email.
",
+ "MailSecurityVerifyRemarks": "(If it is not in the form of a link, copy the address to the browser address bar for further access)
Thank you for your visit and have a good time!
",
+ "ClickToValidation": "Click link verification"
+ }
+}
\ No newline at end of file
diff --git a/aspnet-core/modules/account/LINGYUN.Abp.Account.Domain.Shared/LINGYUN/Abp/Account/Localization/Resources/zh-Hans.json b/aspnet-core/modules/account/LINGYUN.Abp.Account.Domain.Shared/LINGYUN/Abp/Account/Localization/Resources/zh-Hans.json
new file mode 100644
index 000000000..e9650ceeb
--- /dev/null
+++ b/aspnet-core/modules/account/LINGYUN.Abp.Account.Domain.Shared/LINGYUN/Abp/Account/Localization/Resources/zh-Hans.json
@@ -0,0 +1,33 @@
+{
+ "culture": "zh-Hans",
+ "texts": {
+ "UserNotRegisterd": "用户账号未注册!",
+ "UserEmailNotConfirmed": "用户邮件地址未确认!",
+ "SendRepeatSmsVerifyCode": "手机验证码不能在 {0} 分钟内重复发送!",
+ "DuplicatePhoneNumber": "手机号已经存在!",
+ "PhoneNumberNotRegisterd": "手机号码未注册!",
+ "InvalidSmsVerifyCode": "手机验证码无效或已经过期!",
+ "RequiredEmailAddress": "邮件地址必须输入",
+ "InvalidPhoneNumber": "手机号无效",
+ "DuplicateWeChat": "微信号已经注册过!",
+ "DisplayName:SmsVerifyCode": "短信验证码",
+ "DisplayName:EmailVerifyCode": "邮件验证码",
+ "DisplayName:WeChatCode": "微信登录凭证",
+ "TwoFactor": "双因素身份验证",
+ "TwoFactor:Email": "邮箱验证",
+ "TwoFactor:Phone": "手机验证",
+ "TwoFactor:Authenticator": "验证码验证",
+ "SelectedProvider": "选择验证方式",
+ "SendVerifyCode": "发送验证码",
+ "VerifyCode": "验证码",
+ "VerifyAuthenticatorCode": "验证身份代码",
+ "RememberBrowser": "在浏览器中记住我",
+ "TwoFactorAuthenticationInvaidUser": "认证失败,您的会话已失效,请程序登录!",
+ "InvaidGenerateTwoFactorToken": "验证码生成失败,请联系管理员!",
+ "TextTemplate:Abp.Account.MailSecurityVerifyLink": "邮件安全验证模板",
+ "MailSecurityVerify": "邮件安全验证",
+ "VerifyMyEmailAddress": "您好
您此次邮件安全验证码如下,请输入验证码进行下一步操作。
如非你本人操作,请忽略此邮件。
",
+ "MailSecurityVerifyRemarks": "此邮件为系统所发,请勿直接回复。",
+ "ClickToValidation": "点击进行验证"
+ }
+}
\ No newline at end of file
diff --git a/aspnet-core/modules/account/LINGYUN.Abp.Account.Domain.Shared/LINGYUN/Abp/Account/PhoneNumberVerifyType.cs b/aspnet-core/modules/account/LINGYUN.Abp.Account.Domain.Shared/LINGYUN/Abp/Account/PhoneNumberVerifyType.cs
deleted file mode 100644
index 4c01f3b55..000000000
--- a/aspnet-core/modules/account/LINGYUN.Abp.Account.Domain.Shared/LINGYUN/Abp/Account/PhoneNumberVerifyType.cs
+++ /dev/null
@@ -1,9 +0,0 @@
-namespace LINGYUN.Abp.Account
-{
- public enum PhoneNumberVerifyType : sbyte
- {
- Register = 0,
- Signin = 10,
- ResetPassword = 20
- }
-}
diff --git a/aspnet-core/modules/account/LINGYUN.Abp.Account.HttpApi/LINGYUN/Abp/Account/AbpAccountHttpApiModule.cs b/aspnet-core/modules/account/LINGYUN.Abp.Account.HttpApi/LINGYUN/Abp/Account/AbpAccountHttpApiModule.cs
index 66ae75ed2..78771e56b 100644
--- a/aspnet-core/modules/account/LINGYUN.Abp.Account.HttpApi/LINGYUN/Abp/Account/AbpAccountHttpApiModule.cs
+++ b/aspnet-core/modules/account/LINGYUN.Abp.Account.HttpApi/LINGYUN/Abp/Account/AbpAccountHttpApiModule.cs
@@ -1,6 +1,8 @@
-using Microsoft.Extensions.DependencyInjection;
+using LINGYUN.Abp.Account.Localization;
+using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.Account.Localization;
using Volo.Abp.AspNetCore.Mvc.Localization;
+using Volo.Abp.Localization;
using Volo.Abp.Modularity;
namespace LINGYUN.Abp.Account
@@ -24,5 +26,15 @@ namespace LINGYUN.Abp.Account
mvcBuilder.AddApplicationPartIfNotExists(typeof(AbpAccountHttpApiModule).Assembly);
});
}
+
+ public override void ConfigureServices(ServiceConfigurationContext context)
+ {
+ Configure(options =>
+ {
+ options.Resources
+ .Get()
+ .AddBaseTypes(typeof(AbpAccountResource));
+ });
+ }
}
}
diff --git a/aspnet-core/modules/account/LINGYUN.Abp.Account.HttpApi/LINGYUN/Abp/Account/AccountController.cs b/aspnet-core/modules/account/LINGYUN.Abp.Account.HttpApi/LINGYUN/Abp/Account/AccountController.cs
index 03d051e3f..7ae3ef60f 100644
--- a/aspnet-core/modules/account/LINGYUN.Abp.Account.HttpApi/LINGYUN/Abp/Account/AccountController.cs
+++ b/aspnet-core/modules/account/LINGYUN.Abp.Account.HttpApi/LINGYUN/Abp/Account/AccountController.cs
@@ -2,6 +2,7 @@
using System.Threading.Tasks;
using Volo.Abp;
using Volo.Abp.Account;
+using Volo.Abp.Application.Dtos;
using Volo.Abp.AspNetCore.Mvc;
namespace LINGYUN.Abp.Account
@@ -46,6 +47,13 @@ namespace LINGYUN.Abp.Account
await AccountAppService.SendPhoneSigninCodeAsync(input);
}
+ [HttpPost]
+ [Route("email/send-signin-code")]
+ public async virtual Task SendEmailSigninCodeAsync(SendEmailSigninCodeDto input)
+ {
+ await AccountAppService.SendEmailSigninCodeAsync(input);
+ }
+
[HttpPost]
[Route("phone/send-register-code")]
public async virtual Task SendPhoneRegisterCodeAsync(SendPhoneRegisterCodeDto input)
@@ -59,5 +67,12 @@ namespace LINGYUN.Abp.Account
{
await AccountAppService.SendPhoneResetPasswordCodeAsync(input);
}
+
+ [HttpGet]
+ [Route("two-factor-providers")]
+ public async virtual Task> GetTwoFactorProvidersAsync(GetTwoFactorProvidersInput input)
+ {
+ return await AccountAppService.GetTwoFactorProvidersAsync(input);
+ }
}
}
diff --git a/aspnet-core/services/LY.MicroService.identityServer/Emailing/AccountEmailVerifySender.cs b/aspnet-core/services/LY.MicroService.identityServer/Emailing/AccountEmailVerifySender.cs
deleted file mode 100644
index 63b2ee0d0..000000000
--- a/aspnet-core/services/LY.MicroService.identityServer/Emailing/AccountEmailVerifySender.cs
+++ /dev/null
@@ -1,104 +0,0 @@
-using LY.MicroService.IdentityServer.Emailing.Templates;
-using Microsoft.Extensions.Localization;
-using System;
-using System.Diagnostics;
-using System.Threading.Tasks;
-using System.Web;
-using Volo.Abp.Account.Emailing;
-using Volo.Abp.Account.Localization;
-using Volo.Abp.DependencyInjection;
-using Volo.Abp.Emailing;
-using Volo.Abp.Identity;
-using Volo.Abp.MultiTenancy;
-using Volo.Abp.TextTemplating;
-using Volo.Abp.UI.Navigation.Urls;
-
-namespace LY.MicroService.IdentityServer.Emailing;
-
-[Dependency(ReplaceServices = true)]
-[ExposeServices(
- typeof(IAccountEmailer),
- typeof(AccountEmailer),
- typeof(IAccountEmailVerifySender),
- typeof(AccountEmailVerifySender))]
-public class AccountEmailVerifySender : AccountEmailer, IAccountEmailVerifySender, ITransientDependency
-{
- public AccountEmailVerifySender(
- IEmailSender emailSender,
- ITemplateRenderer templateRenderer,
- IStringLocalizer stringLocalizer,
- IAppUrlProvider appUrlProvider,
- ICurrentTenant currentTenant)
- : base(emailSender, templateRenderer, stringLocalizer, appUrlProvider, currentTenant)
- {
- }
-
- public virtual async Task SendMailLoginVerifyLinkAsync(
- IdentityUser user,
- string code,
- string appName,
- string provider,
- bool rememberMe = false,
- string returnUrl = null,
- string returnUrlHash = null)
- {
- Debug.Assert(CurrentTenant.Id == user.TenantId, "This method can only work for current tenant!");
-
- // TODO: 需要生成快捷链接
- //var url = await AppUrlProvider.GetUrlAsync(appName, AccountUrlNames.MailLoginVerify);
-
- //var link = $"{url}?provider={provider}&rememberMe={rememberMe}&resetToken={UrlEncoder.Default.Encode(code)}";
-
- //if (!returnUrl.IsNullOrEmpty())
- //{
- // link += "&returnUrl=" + NormalizeReturnUrl(returnUrl);
- //}
-
- //if (!returnUrlHash.IsNullOrEmpty())
- //{
- // link += "&returnUrlHash=" + returnUrlHash;
- //}
-
- var emailContent = await TemplateRenderer.RenderAsync(
- AccountEmailTemplates.MailSecurityVerifyLink,
- new { code = code, user = user.UserName }
- );
-
- await EmailSender.SendAsync(
- user.Email,
- StringLocalizer["MailSecurityVerify"],
- emailContent
- );
- }
-
- protected override string NormalizeReturnUrl(string returnUrl)
- {
- if (returnUrl.IsNullOrEmpty())
- {
- return returnUrl;
- }
-
- //Handling openid connect login
- if (returnUrl.StartsWith("/connect/authorize/callback", StringComparison.OrdinalIgnoreCase))
- {
- if (returnUrl.Contains("?"))
- {
- var queryPart = returnUrl.Split('?')[1];
- var queryParameters = queryPart.Split('&');
- foreach (var queryParameter in queryParameters)
- {
- if (queryParameter.Contains("="))
- {
- var queryParam = queryParameter.Split('=');
- if (queryParam[0] == "redirect_uri")
- {
- return HttpUtility.UrlDecode(queryParam[1]);
- }
- }
- }
- }
- }
-
- return returnUrl;
- }
-}
diff --git a/aspnet-core/services/LY.MicroService.identityServer/Emailing/IAccountEmailVerifySender.cs b/aspnet-core/services/LY.MicroService.identityServer/Emailing/IAccountEmailVerifySender.cs
deleted file mode 100644
index ad52a8824..000000000
--- a/aspnet-core/services/LY.MicroService.identityServer/Emailing/IAccountEmailVerifySender.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-using System.Threading.Tasks;
-using Volo.Abp.Account.Emailing;
-using Volo.Abp.Identity;
-
-namespace LY.MicroService.IdentityServer.Emailing;
-
-public interface IAccountEmailVerifySender : IAccountEmailer
-{
- Task SendMailLoginVerifyLinkAsync(
- IdentityUser user,
- string code,
- string appName,
- string provider,
- bool rememberMe = false,
- string returnUrl = null,
- string returnUrlHash = null);
-}
diff --git a/aspnet-core/services/LY.MicroService.identityServer/IdentityServerModule.Configure.cs b/aspnet-core/services/LY.MicroService.identityServer/IdentityServerModule.Configure.cs
index 218fd02ee..dd693f9e5 100644
--- a/aspnet-core/services/LY.MicroService.identityServer/IdentityServerModule.Configure.cs
+++ b/aspnet-core/services/LY.MicroService.identityServer/IdentityServerModule.Configure.cs
@@ -1,4 +1,5 @@
using DotNetCore.CAP;
+using LINGYUN.Abp.Account.Localization;
using LINGYUN.Abp.IdentityServer.IdentityResources;
using LINGYUN.Abp.Localization.CultureMap;
using LINGYUN.Abp.Serilog.Enrichers.Application;
@@ -179,6 +180,7 @@ public partial class IdentityServerModule
options.Resources
.Get()
+ .AddBaseTypes(typeof(AbpAccountResource))
.AddVirtualJson("/Localization/Resources");
});
diff --git a/aspnet-core/services/LY.MicroService.identityServer/IdentityServerModule.cs b/aspnet-core/services/LY.MicroService.identityServer/IdentityServerModule.cs
index 262f777e7..04e632358 100644
--- a/aspnet-core/services/LY.MicroService.identityServer/IdentityServerModule.cs
+++ b/aspnet-core/services/LY.MicroService.identityServer/IdentityServerModule.cs
@@ -1,4 +1,5 @@
using DotNetCore.CAP;
+using LINGYUN.Abp.Account;
using LINGYUN.Abp.AspNetCore.HttpOverrides;
using LINGYUN.Abp.AuditLogging.Elasticsearch;
using LINGYUN.Abp.Data.DbMigrator;
@@ -44,6 +45,7 @@ namespace LY.MicroService.IdentityServer;
typeof(AbpAspNetCoreSerilogModule),
typeof(AbpAccountWebIdentityServerModule),
typeof(AbpAccountApplicationModule),
+ typeof(AbpAccountDomainSharedModule),
typeof(AbpAspNetCoreMvcUiBasicThemeModule),
typeof(AbpAutofacModule),
typeof(AbpCachingStackExchangeRedisModule),
diff --git a/aspnet-core/services/LY.MicroService.identityServer/LY.MicroService.IdentityServer.csproj b/aspnet-core/services/LY.MicroService.identityServer/LY.MicroService.IdentityServer.csproj
index d8d3b7410..4617d0424 100644
--- a/aspnet-core/services/LY.MicroService.identityServer/LY.MicroService.IdentityServer.csproj
+++ b/aspnet-core/services/LY.MicroService.identityServer/LY.MicroService.IdentityServer.csproj
@@ -7,7 +7,6 @@
-
@@ -46,6 +45,7 @@
+
diff --git a/aspnet-core/services/LY.MicroService.identityServer/Localization/Resources/en.json b/aspnet-core/services/LY.MicroService.identityServer/Localization/Resources/en.json
index 7291dc84a..a9c8dcc3f 100644
--- a/aspnet-core/services/LY.MicroService.identityServer/Localization/Resources/en.json
+++ b/aspnet-core/services/LY.MicroService.identityServer/Localization/Resources/en.json
@@ -1,18 +1,5 @@
{
"culture": "en",
"texts": {
- "TwoFactor": "Two factor authentication",
- "SelectedProvider": "Select validation mode",
- "SendVerifyCode": "Send verification code",
- "VerifyCode": "Verification code",
- "VerifyAuthenticatorCode": "Authentication code",
- "RememberBrowser": "Remember me in the browser",
- "TwoFactorAuthenticationInvaidUser": "Authentication failed. Your session is invalid. Please re login try again!",
- "InvaidGenerateTwoFactorToken": "Verification code generation failed. Please contact your administrator!",
- "TextTemplate:Abp.Account.MailSecurityVerifyLink": "Mail security validation template",
- "MailSecurityVerify": "Mail security verification",
- "VerifyMyEmailAddress": "Hello {0}
Your email security verification code is as follows. Please enter the verification code to proceed to the next step.
If not operated by you, please ignore this email.
",
- "MailSecurityVerifyRemarks": "(If it is not in the form of a link, copy the address to the browser address bar for further access)
Thank you for your visit and have a good time!
",
- "ClickToValidation": "Click link verification"
}
}
\ No newline at end of file
diff --git a/aspnet-core/services/LY.MicroService.identityServer/Localization/Resources/zh-Hans.json b/aspnet-core/services/LY.MicroService.identityServer/Localization/Resources/zh-Hans.json
index 0396e0bde..2bdcf10ac 100644
--- a/aspnet-core/services/LY.MicroService.identityServer/Localization/Resources/zh-Hans.json
+++ b/aspnet-core/services/LY.MicroService.identityServer/Localization/Resources/zh-Hans.json
@@ -1,18 +1,5 @@
{
"culture": "zh-Hans",
"texts": {
- "TwoFactor": "双因素身份验证",
- "SelectedProvider": "选择验证方式",
- "SendVerifyCode": "发送验证码",
- "VerifyCode": "验证码",
- "VerifyAuthenticatorCode": "验证身份代码",
- "RememberBrowser": "在浏览器中记住我",
- "TwoFactorAuthenticationInvaidUser": "认证失败,您的会话已失效,请程序登录!",
- "InvaidGenerateTwoFactorToken": "验证码生成失败,请联系管理员!",
- "TextTemplate:Abp.Account.MailSecurityVerifyLink": "邮件安全验证模板",
- "MailSecurityVerify": "邮件安全验证",
- "VerifyMyEmailAddress": "您好
您此次邮件安全验证码如下,请输入验证码进行下一步操作。
如非你本人操作,请忽略此邮件。
",
- "MailSecurityVerifyRemarks": "此邮件为系统所发,请勿直接回复。",
- "ClickToValidation": "点击进行验证"
}
}
\ No newline at end of file
diff --git a/aspnet-core/services/LY.MicroService.identityServer/Pages/Account/SendCode.cshtml b/aspnet-core/services/LY.MicroService.identityServer/Pages/Account/SendCode.cshtml
index 7dd20f502..96de45e7a 100644
--- a/aspnet-core/services/LY.MicroService.identityServer/Pages/Account/SendCode.cshtml
+++ b/aspnet-core/services/LY.MicroService.identityServer/Pages/Account/SendCode.cshtml
@@ -14,7 +14,12 @@
- @L["SendVerifyCode"]
+
+
+ @L["Login"]
+
diff --git a/aspnet-core/services/LY.MicroService.identityServer/Pages/Account/SendCode.cshtml.cs b/aspnet-core/services/LY.MicroService.identityServer/Pages/Account/SendCode.cshtml.cs
index df01aebff..9434bc02c 100644
--- a/aspnet-core/services/LY.MicroService.identityServer/Pages/Account/SendCode.cshtml.cs
+++ b/aspnet-core/services/LY.MicroService.identityServer/Pages/Account/SendCode.cshtml.cs
@@ -1,4 +1,4 @@
-using LY.MicroService.IdentityServer.Emailing;
+using LINGYUN.Abp.Account.Emailing;
using LINGYUN.Abp.Identity.Settings;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Rendering;
@@ -9,7 +9,7 @@ using Volo.Abp;
using Volo.Abp.Account.Localization;
using Volo.Abp.Account.Web.Pages.Account;
using Volo.Abp.Sms;
-
+
namespace LY.MicroService.IdentityServer.Pages.Account
{
public class SendCodeModel : AccountPageModel
@@ -91,12 +91,11 @@ namespace LY.MicroService.IdentityServer.Pages.Account
if (Input.SelectedProvider == "Email")
{
- var appName = "MVC"; // TODO: Abpܵ˼䶯
await AccountEmailVerifySender
- .SendMailLoginVerifyLinkAsync(
- user, code, appName,
- Input.SelectedProvider,
- RememberMe, ReturnUrl, ReturnUrlHash);
+ .SendMailLoginVerifyCodeAsync(
+ code,
+ user.UserName,
+ user.Email);
}
else if (Input.SelectedProvider == "Phone")
{
diff --git a/aspnet-core/services/LY.MicroService.identityServer/Pages/Account/VerifyAuthenticatorCode.cshtml b/aspnet-core/services/LY.MicroService.identityServer/Pages/Account/VerifyAuthenticatorCode.cshtml
index 153ec9d9c..9a9b65122 100644
--- a/aspnet-core/services/LY.MicroService.identityServer/Pages/Account/VerifyAuthenticatorCode.cshtml
+++ b/aspnet-core/services/LY.MicroService.identityServer/Pages/Account/VerifyAuthenticatorCode.cshtml
@@ -18,6 +18,9 @@
@L["VerifyAuthenticatorCode"]
+
+ @L["Login"]
+
\ No newline at end of file
diff --git a/aspnet-core/services/LY.MicroService.identityServer/Pages/Account/VerifyCode.cshtml b/aspnet-core/services/LY.MicroService.identityServer/Pages/Account/VerifyCode.cshtml
index 19a006403..eb198aca4 100644
--- a/aspnet-core/services/LY.MicroService.identityServer/Pages/Account/VerifyCode.cshtml
+++ b/aspnet-core/services/LY.MicroService.identityServer/Pages/Account/VerifyCode.cshtml
@@ -18,7 +18,12 @@
- @L["VerifyAuthenticatorCode"]
+
+
@L["VerifyAuthenticatorCode"]
+
+
+ @L["SendVerifyCode"]
+