asp.net core 入口 验证token

时间:2024-10-26 13:56:30
首先,创建一个中间件类:
public class ValidateTokenMiddleware
{
    private readonly RequestDelegate _next;
 
    public ValidateTokenMiddleware(RequestDelegate next)
    {
        _next = next;
    }
 
    public async Task Invoke(HttpContext context)
    {
        var token = context.Request.Headers["Authorization"].FirstOrDefault()?.Split(" ").Last();
 
        if (token != null && ValidateToken(token))
        {
            await _next(context); // 继续下一个中间件
        }
        else
        {
            context.Response.StatusCode = 401; // 未授权
            await context.Response.WriteAsync("Invalid or missing token");
        }
    }
 
    private bool ValidateToken(string token)
    {
        // 这里应该是你验证Token的逻辑,例如与数据库比对或者调用外部API
        // 为了示例,这里简单返回false表示Token无效
        return false;
    }
}