From d327acac06bd48577d2620a22e07bc43f9a63658 Mon Sep 17 00:00:00 2001 From: colin Date: Sat, 6 Sep 2025 16:47:53 +0800 Subject: [PATCH] feat(oauth): Adjust the binding work weixin code --- .../LINGYUN/Abp/Account/Localization/Resources/en.json | 2 ++ .../Abp/Account/Localization/Resources/zh-Hans.json | 2 ++ .../Abp/Account/OAuth/Localization/Resources/en.json | 3 ++- .../Account/OAuth/Localization/Resources/zh-Hans.json | 3 ++- .../Controllers/Dtos/WorkWeixinLoginBindInput.cs | 10 ++++++++++ .../Account/Controllers/OAuthAccountController.cs | 5 +++-- 6 files changed, 21 insertions(+), 4 deletions(-) create mode 100644 aspnet-core/modules/account/LINGYUN.Abp.Account.Web.OAuth/Areas/Account/Controllers/Dtos/WorkWeixinLoginBindInput.cs diff --git a/aspnet-core/modules/account/LINGYUN.Abp.Account.Application.Contracts/LINGYUN/Abp/Account/Localization/Resources/en.json b/aspnet-core/modules/account/LINGYUN.Abp.Account.Application.Contracts/LINGYUN/Abp/Account/Localization/Resources/en.json index 50a34dac3..fa6738c80 100644 --- a/aspnet-core/modules/account/LINGYUN.Abp.Account.Application.Contracts/LINGYUN/Abp/Account/Localization/Resources/en.json +++ b/aspnet-core/modules/account/LINGYUN.Abp.Account.Application.Contracts/LINGYUN/Abp/Account/Localization/Resources/en.json @@ -62,6 +62,8 @@ "Bind": "Bind", "UnBind": "Unbound", "CancelBind": "Cancel Bind", + "BindSuccessfully": "Binding successful!", + "CancelBindSuccessfully": "Unbinding successful!", "CancelBindWarningMessage": "After unbinding, you will not be able to use an external identity. If you log in through this method, your session will be logged out!" } } \ No newline at end of file diff --git a/aspnet-core/modules/account/LINGYUN.Abp.Account.Application.Contracts/LINGYUN/Abp/Account/Localization/Resources/zh-Hans.json b/aspnet-core/modules/account/LINGYUN.Abp.Account.Application.Contracts/LINGYUN/Abp/Account/Localization/Resources/zh-Hans.json index 47dac10e9..c2ac9bd6f 100644 --- a/aspnet-core/modules/account/LINGYUN.Abp.Account.Application.Contracts/LINGYUN/Abp/Account/Localization/Resources/zh-Hans.json +++ b/aspnet-core/modules/account/LINGYUN.Abp.Account.Application.Contracts/LINGYUN/Abp/Account/Localization/Resources/zh-Hans.json @@ -62,6 +62,8 @@ "Bind": "绑定", "UnBind": "未绑定", "CancelBind": "解除绑定", + "BindSuccessfully": "绑定成功!", + "CancelBindSuccessfully": "解除绑定成功!", "CancelBindWarningMessage": "解除绑定后将无法使用外部身份,如果你通过此方式登录,你的会话将被注销!" } } \ No newline at end of file diff --git a/aspnet-core/modules/account/LINGYUN.Abp.Account.OAuth/LINGYUN/Abp/Account/OAuth/Localization/Resources/en.json b/aspnet-core/modules/account/LINGYUN.Abp.Account.OAuth/LINGYUN/Abp/Account/OAuth/Localization/Resources/en.json index 94849218d..7f5da2d19 100644 --- a/aspnet-core/modules/account/LINGYUN.Abp.Account.OAuth/LINGYUN/Abp/Account/OAuth/Localization/Resources/en.json +++ b/aspnet-core/modules/account/LINGYUN.Abp.Account.OAuth/LINGYUN/Abp/Account/OAuth/Localization/Resources/en.json @@ -31,6 +31,7 @@ "OAuth:QQ": "QQ", "OAuth:Weixin": "WeChat", "OAuth:WorkWeixin": "WeCom", - "OAuth:Bilibili": "Bilibili" + "OAuth:Bilibili": "Bilibili", + "WorkWeixin:Code": "Code" } } \ No newline at end of file diff --git a/aspnet-core/modules/account/LINGYUN.Abp.Account.OAuth/LINGYUN/Abp/Account/OAuth/Localization/Resources/zh-Hans.json b/aspnet-core/modules/account/LINGYUN.Abp.Account.OAuth/LINGYUN/Abp/Account/OAuth/Localization/Resources/zh-Hans.json index 859fe07b1..0a53e9b45 100644 --- a/aspnet-core/modules/account/LINGYUN.Abp.Account.OAuth/LINGYUN/Abp/Account/OAuth/Localization/Resources/zh-Hans.json +++ b/aspnet-core/modules/account/LINGYUN.Abp.Account.OAuth/LINGYUN/Abp/Account/OAuth/Localization/Resources/zh-Hans.json @@ -31,6 +31,7 @@ "OAuth:QQ": "QQ", "OAuth:Weixin": "微信", "OAuth:WorkWeixin": "企业微信", - "OAuth:Bilibili": "Bilibili" + "OAuth:Bilibili": "Bilibili", + "WorkWeixin:Code": "授权码" } } \ No newline at end of file diff --git a/aspnet-core/modules/account/LINGYUN.Abp.Account.Web.OAuth/Areas/Account/Controllers/Dtos/WorkWeixinLoginBindInput.cs b/aspnet-core/modules/account/LINGYUN.Abp.Account.Web.OAuth/Areas/Account/Controllers/Dtos/WorkWeixinLoginBindInput.cs new file mode 100644 index 000000000..9663c3161 --- /dev/null +++ b/aspnet-core/modules/account/LINGYUN.Abp.Account.Web.OAuth/Areas/Account/Controllers/Dtos/WorkWeixinLoginBindInput.cs @@ -0,0 +1,10 @@ +using System.ComponentModel.DataAnnotations; + +namespace LINGYUN.Abp.Account.Web.OAuth.Areas.Account.Controllers.Dtos; + +public class WorkWeixinLoginBindInput +{ + [Required] + [Display(Name = "WorkWeixin:Code")] + public string Code { get; set; } +} diff --git a/aspnet-core/modules/account/LINGYUN.Abp.Account.Web.OAuth/Areas/Account/Controllers/OAuthAccountController.cs b/aspnet-core/modules/account/LINGYUN.Abp.Account.Web.OAuth/Areas/Account/Controllers/OAuthAccountController.cs index c159376c7..e0c161d45 100644 --- a/aspnet-core/modules/account/LINGYUN.Abp.Account.Web.OAuth/Areas/Account/Controllers/OAuthAccountController.cs +++ b/aspnet-core/modules/account/LINGYUN.Abp.Account.Web.OAuth/Areas/Account/Controllers/OAuthAccountController.cs @@ -1,4 +1,5 @@ using AspNet.Security.OAuth.WorkWeixin; +using LINGYUN.Abp.Account.Web.OAuth.Areas.Account.Controllers.Dtos; using LINGYUN.Abp.WeChat.Work.Authorize; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Identity; @@ -27,9 +28,9 @@ public class OAuthAccountController : AbpController [HttpPost] [Authorize] [Route("work-weixin/bind")] - public virtual async Task WorkWeixinLoginBindAsync(string code) + public virtual async Task WorkWeixinLoginBindAsync(WorkWeixinLoginBindInput input) { - var workWeixinUser = await WeChatWorkUserFinder.GetUserInfoAsync(code); + var workWeixinUser = await WeChatWorkUserFinder.GetUserInfoAsync(input.Code); var currentUser = await UserManager.GetByIdAsync(CurrentUser.GetId()); var userLogins = await UserManager.GetLoginsAsync(currentUser); var workWexinLogin = userLogins.FirstOrDefault(x => x.LoginProvider == WorkWeixinAuthenticationDefaults.AuthenticationScheme);