Browse Source

重构登录方法参数和相关类

在 `IdentityController.cs` 中,将 `Login` 方法的参数类型从 `string` 类型的 `signature` 改为 `LoginSignatureDto` 类型的 `dto`,并相应修改了 `Decrypt` 调用。
在 `LoginDto.cs` 中,删除了 `LoginWithSignatureRequest` 类。
新增 `LoginSignatureDto.cs` 文件,定义了 `LoginSignatureDto` 类,包含 `Signature` 属性。
新增 `LoginWithSignatureRequest.cs` 文件,重新定义 `LoginWithSignatureRequest` 类,继承自 `LoginDto`,并包含 `Timestamp` 和 `Nonce` 属性。
xf 1 month ago
parent
commit
a6de1de1cc

+ 2 - 2
src/Hotline.Api/Controllers/IdentityController.cs

@@ -102,9 +102,9 @@ jxrWXHbT1FB6DqkdOnBbQqS1Azqz5HxLlSyEK3F60e3SgB5iZsDZ
     /// <returns></returns>
     [AllowAnonymous]
     [HttpPost("login-sign")]
-    public async Task<string> Login([FromBody] string signature)
+    public async Task<string> Login([FromBody] LoginSignatureDto dto)
     {
-        var request = Decrypt(signature);
+        var request = Decrypt(dto.Signature);
         if (request is null)
             throw UserFriendlyException.SameMessage("用户名或密码错误!");
         var res = await _identityAppService.LoginWithSignatureAsync(request, HttpContext.RequestAborted);

+ 0 - 6
src/Hotline.Share/Dtos/Identity/LoginDto.cs

@@ -13,12 +13,6 @@ namespace Hotline.Share.Dtos.Identity
         public string? MsgCode { get; set; }
     }
 
-    public class LoginWithSignatureRequest : LoginDto
-    {
-        public long Timestamp { get; set; }
-        public string Nonce { get; set; }
-    }
-
     public class HotlineLoginOldToNewDto
     {
         public string UserName { get; set; }

+ 6 - 0
src/Hotline.Share/Dtos/Identity/LoginSignatureDto.cs

@@ -0,0 +1,6 @@
+namespace Hotline.Share.Dtos.Identity;
+
+public class LoginSignatureDto
+{
+    public string Signature { get; set; }
+}

+ 7 - 0
src/Hotline.Share/Dtos/Identity/LoginWithSignatureRequest.cs

@@ -0,0 +1,7 @@
+namespace Hotline.Share.Dtos.Identity;
+
+public class LoginWithSignatureRequest : LoginDto
+{
+    public long Timestamp { get; set; }
+    public string Nonce { get; set; }
+}