当您因未授权JWT而发生401错误时,如何发送json作为响应

问题描述

我是C#的新手。我有一个使用C#,ASP.NET Core 3.1和Entity Framework的项目。

我已经完成了所有的JWT配置。

    [Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]
    [HttpPost,Route("delete/{id}")]
    public async Task<ActionResult<Login>> DeleteUsuario(int id)
    .
    .
    .

在Startup.cs中

      public void ConfigureServices(IServiceCollection services){
        services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
        .
        .

  public void Configure(IApplicationBuilder app,IWebHostEnvironment env)
  {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }

        app.UseHttpsRedirection();
        app.UseRouting();
        app.UseAuthorization();
        app.UseAuthentication();

        app.UseEndpoints(endpoints =>
        {
            endpoints.MapControllers();
        });
}

如果没有立即发送token作为响应,则会生成401错误。当我收到此错误时,我想返回这样的json:

{"message": "Sign in"}

我该怎么办?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)