2025-10-16 09:56:36 +08:00
|
|
|
using System.ComponentModel.DataAnnotations;
|
|
|
|
|
|
|
|
|
|
namespace FutureMailAPI.DTOs
|
|
|
|
|
{
|
2025-10-16 15:21:52 +08:00
|
|
|
public class OAuthLoginRequestDto
|
2025-10-16 09:56:36 +08:00
|
|
|
{
|
2025-10-16 15:21:52 +08:00
|
|
|
[Required(ErrorMessage = "客户端ID是必填项")]
|
2025-10-16 09:56:36 +08:00
|
|
|
public string ClientId { get; set; } = string.Empty;
|
|
|
|
|
|
2025-10-16 15:21:52 +08:00
|
|
|
[Required(ErrorMessage = "客户端密钥是必填项")]
|
|
|
|
|
public string ClientSecret { get; set; } = string.Empty;
|
2025-10-16 09:56:36 +08:00
|
|
|
|
2025-10-16 15:21:52 +08:00
|
|
|
[Required(ErrorMessage = "用户名或邮箱是必填项")]
|
|
|
|
|
public string Username { get; set; } = string.Empty;
|
2025-10-16 09:56:36 +08:00
|
|
|
|
2025-10-16 15:21:52 +08:00
|
|
|
[Required(ErrorMessage = "密码是必填项")]
|
|
|
|
|
public string Password { get; set; } = string.Empty;
|
2025-10-16 09:56:36 +08:00
|
|
|
|
2025-10-16 15:21:52 +08:00
|
|
|
public string? Scope { get; set; }
|
2025-10-16 09:56:36 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public class OAuthTokenResponseDto
|
|
|
|
|
{
|
|
|
|
|
public string AccessToken { get; set; } = string.Empty;
|
|
|
|
|
public string RefreshToken { get; set; } = string.Empty;
|
2025-10-16 15:21:52 +08:00
|
|
|
public string TokenType { get; set; } = "Bearer";
|
|
|
|
|
public int ExpiresIn { get; set; }
|
|
|
|
|
public string? Scope { get; set; }
|
|
|
|
|
public UserResponseDto User { get; set; } = new();
|
2025-10-16 09:56:36 +08:00
|
|
|
}
|
|
|
|
|
|
2025-10-16 15:21:52 +08:00
|
|
|
public class OAuthRefreshTokenRequestDto
|
2025-10-16 09:56:36 +08:00
|
|
|
{
|
2025-10-16 15:21:52 +08:00
|
|
|
[Required(ErrorMessage = "刷新令牌是必填项")]
|
|
|
|
|
public string RefreshToken { get; set; } = string.Empty;
|
2025-10-16 09:56:36 +08:00
|
|
|
|
2025-10-16 15:21:52 +08:00
|
|
|
[Required(ErrorMessage = "客户端ID是必填项")]
|
2025-10-16 09:56:36 +08:00
|
|
|
public string ClientId { get; set; } = string.Empty;
|
|
|
|
|
|
2025-10-16 15:21:52 +08:00
|
|
|
[Required(ErrorMessage = "客户端密钥是必填项")]
|
|
|
|
|
public string ClientSecret { get; set; } = string.Empty;
|
2025-10-16 09:56:36 +08:00
|
|
|
}
|
|
|
|
|
}
|