新增注册流程

This commit is contained in:
南浔 2024-11-03 22:05:07 +08:00
commit 77bd3b3475

View File

@ -32,23 +32,25 @@ namespace Apimanager_backend.Controllers
[HttpPost]
public async Task<ActionResult<ResponseBase<UserInfoDto>>> Login([FromBody] UserLoginDto dto)
{
UserInfoDto user = await authService.LoginAsync(dto.UserName, dto.Password);
//生成token
try
{
UserInfoDto user = await authService.LoginAsync(dto.UserName, dto.Password);
//生成token
string token = tokenService.GenerateAccessToken(user.Id.ToString(), user.Roles);
//生成refreshtoken
string refreshToken = await refreshTokenService.CreateRefereshTokenAsync(user.Id.ToString());
var responseInfo = new ResponseBase<LoginResponseDto>(
code: 2000,
message: "Login successful",
data: new LoginResponseDto
{
UserInfo = user,
Token = token,
RefreshToken = refreshToken
}
);
return Ok(responseInfo);
}
//生成refreshtoken
string refreshToken = await refreshTokenService.CreateRefereshTokenAsync(user.Id.ToString());
var responseInfo = new ResponseBase<LoginResponseDto>(
code: 2000,
message: "Login successful",
data: new LoginResponseDto
{
UserInfo = user,
Token = token,
RefreshToken = refreshToken
}
);
return Ok(responseInfo);
}
/// <summary>
/// 令牌刷新
/// </summary>
@ -58,34 +60,34 @@ namespace Apimanager_backend.Controllers
public async Task<ActionResult<ResponseBase<RefreshResponseDto?>>> Refresh([FromBody]RefreshResponseDto dto)
{
var IsRefreshToken = await refreshTokenService.ValidateRefreshTokenAsync(dto.UserId.ToString(),dto.RefreshToken);
//刷新令牌无效
//刷新令牌无效
if (!IsRefreshToken)
{
var ret = new ResponseBase<RefreshResponseDto?>(
code: 2008,
message: "Refresh expires or is invalid",
data: null
);
return Unauthorized(ret);
}
//获取刷新令牌对应用户信息
{
var ret = new ResponseBase<RefreshResponseDto?>(
code: 2008,
message: "Refresh expires or is invalid",
data: null
);
return Unauthorized(ret);
}
//获取刷新令牌对应用户信息
var userInfo = await userService.GetUserAsync(dto.UserId);
//重新生成令牌
var token = tokenService.GenerateAccessToken(userInfo.Id.ToString(), userInfo.Roles);
//刷新刷新令牌有效期(小于三天才会刷新)
//重新生成令牌
var token = tokenService.GenerateAccessToken(userInfo.Id.ToString(), userInfo.Roles);
//刷新刷新令牌有效期(小于三天才会刷新)
await refreshTokenService.UpdateRefreshTokenAsync(userInfo.Id.ToString());
var result = new ResponseBase<RefreshResponseDto?>(
code: 1000,
message: "Success",
data: new RefreshResponseDto
{
var result = new ResponseBase<RefreshResponseDto?>(
code: 1000,
message: "Success",
data: new RefreshResponseDto
{
UserId = dto.UserId,
Token = token,
RefreshToken = dto.RefreshToken
}
Token = token,
RefreshToken = dto.RefreshToken
}
);
return Ok(result);
);
return Ok(result);
}
/// <summary>
/// 用户注册
@ -123,8 +125,8 @@ namespace Apimanager_backend.Controllers
);
return StatusCode(500,res);
}
}
}
/// <summary>
/// 发送邮箱校验码
/// </summary>
@ -153,6 +155,7 @@ namespace Apimanager_backend.Controllers
);
return Ok(res);
}
}
}
}