add refresh token entity

This commit is contained in:
2025-12-03 12:25:20 +08:00
parent 60ece894d5
commit 4f3eecabc4
3 changed files with 65 additions and 0 deletions

View File

@@ -27,6 +27,9 @@ var builder = WebApplication.CreateBuilder(args);
Log.Logger = new LoggerConfiguration() Log.Logger = new LoggerConfiguration()
.ReadFrom.Configuration(builder.Configuration) .ReadFrom.Configuration(builder.Configuration)
.Enrich.FromLogContext() .Enrich.FromLogContext()
.Enrich.WithProperty("Application", "Atomx.Admin")
.Enrich.WithProperty("Environment", builder.Environment.EnvironmentName)
.WriteTo.Console(outputTemplate: "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj}{NewLine}{Exception}")
.CreateLogger(); .CreateLogger();
// Add services to the container. // Add services to the container.

View File

@@ -0,0 +1,57 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 刷新TOKEN
/// </summary>
[Table("RefreshTokens")]
public class RefreshToken
{
/// <summary>
/// 数据ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public string Id { get; set; } = Guid.NewGuid().ToString();
/// <summary>
/// 用户ID
/// </summary>
public long UserId { get; set; }
/// <summary>
/// Token 信息
/// </summary>
[Column(TypeName = "varchar(500)")]
public string Token { get; set; } = string.Empty;
/// <summary>
/// 发布时间
/// </summary>
public DateTime IssuedTime { get; set; } = DateTime.UtcNow;
/// <summary>
/// 到期时间
/// </summary>
public DateTime ExpiresTime { get; set; }
/// <summary>
/// 是否回收
/// </summary>
public bool IsRevoked { get; set; }
/// <summary>
/// 用户IP
/// </summary>
[Column(TypeName = "varchar(50)")]
public string Ip { get; set; } = string.Empty;
/// <summary>
/// 用户系统代理信息
/// </summary>
[Column(TypeName = "varchar(500)")]
public string UserAgent { get; set; } = string.Empty;
}
}

View File

@@ -132,6 +132,11 @@ namespace Atomx.Data
/// </summary> /// </summary>
public DbSet<SpecificationAttributeOption> SpecificationAttributeOptions { get; set; } public DbSet<SpecificationAttributeOption> SpecificationAttributeOptions { get; set; }
/// <summary>
/// 刷新Tokens
/// </summary>
public DbSet<RefreshToken> RefreshTokens { get; set; }
/// <summary> /// <summary>
/// 用户角色 /// 用户角色
/// </summary> /// </summary>