第38篇 net8接口调试方式
.net提供了内置的接口调试方式
1.新建.net core web api控制台应用程序
2.封装好jwt验证机制
token令牌验证机制
/// <summary>
/// 登录
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
/// <exception cref="NotImplementedException"></exception>
public async Task<UserResponse> LoginAsync(UserInfoRequest request)
{
UserResponse userResponse = null;
UserInfoVo user = await _userRepository.GetUserInfoByUserCodeAsync(request.UserCode);
if (user == null)
{
throw new Exception("用户名不存在");
}
if (user.Status == -1)
{
throw new Exception("账户被锁定");
}
if (user.UserPassword != AesHelper.Encrypt(request.UserPassword))
{
throw new Exception("用户名或密码不正确");
}
//判断redis里是否已经存在当前患者
CurrentUser currentUser = await _userRepository.GetCurrentUserAsync(user.UserCode);
//如果已经存在,并且token没有过期,则不用生成新的token,直接将redis里的进行返回
if (currentUser != null && DateTime.Now < currentUser.ExpireTime)
{
return currentUser.Adapt<UserResponse>();
}
//如果不存在或者token过期,则生成新的token
SsoUser ssoUser = new SsoUser()
{
UserCode = user.UserCode,
UserName = user.UserName,
};
String token = await _jwtService.BuildToken(ssoUser);
await _userRepository.DelCurrentUserAsync(ssoUser.UserCode);
currentUser = new CurrentUser()
{
UserCode = ssoUser.UserCode,
UserName = user.UserName,
Token = token,
ExpireSeconds = _jwtConfig.ExpireSeconds,
ExpireTime = DateTime.Now.AddSeconds(_jwtConfig.ExpireSeconds)
};
await _userRepository.SetCurrentUserAsync(currentUser, _jwtConfig.ExpireSeconds);
userResponse = new UserResponse()
{
Token = token,
UserCode = user.UserCode,
UserName = user.UserName,
ExpireSeconds = _jwtConfig.ExpireSeconds,
};
return userResponse;
}
3.调试
3.1 启动应用程序,调佣接口
HttpGet方式
调用内置接口调试方式
外部接口调用工具Apifox:
HttpPost方式
外部接口调用工具Apifox:
请求body内容
返回结果
分类:
asp.netcore
标签:
JWT
, .net ccore
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)