feat: add wechat authentication

This commit is contained in:
xiong
2026-07-26 13:12:53 +08:00
parent 241b9f777e
commit 70e2503d18
15 changed files with 722 additions and 7 deletions

View File

@@ -44,6 +44,40 @@ public sealed class AuthController(IAuthService authService) : ControllerBase
return Ok(result);
}
[AllowAnonymous]
[HttpPost("oauth/wechat")]
public async Task<ActionResult<AuthenticatedUser>> LoginWithWechatWeb(
WechatLoginHttpRequest request,
CancellationToken cancellationToken)
{
var result = await authService.LoginWithWechatWebAsync(
new WechatLoginRequest(
request.TenantId,
request.Code,
GetIpAddress(),
Request.Headers.UserAgent.ToString()),
cancellationToken);
return Ok(result);
}
[AllowAnonymous]
[HttpPost("oauth/wechat-miniapp")]
public async Task<ActionResult<AuthenticatedUser>> LoginWithWechatMiniApp(
WechatLoginHttpRequest request,
CancellationToken cancellationToken)
{
var result = await authService.LoginWithWechatMiniAppAsync(
new WechatLoginRequest(
request.TenantId,
request.Code,
GetIpAddress(),
Request.Headers.UserAgent.ToString()),
cancellationToken);
return Ok(result);
}
[AllowAnonymous]
[HttpPost("refresh")]
public async Task<ActionResult<AuthTokenPair>> Refresh(
@@ -89,4 +123,8 @@ public sealed record SmsLoginHttpRequest(
string Phone,
string Code);
public sealed record WechatLoginHttpRequest(
Guid TenantId,
string Code);
public sealed record RefreshHttpRequest(string RefreshToken);