Asp.Net WebApi 核心 2.0 身份与 JWTBearer 没有 cookie

Asp.Net WebApi Core 2.0 Identity With JWTBearer Without cookies

我正在使用 ASP.Net Core WebApi 构建 Web 服务。我想使用 Identity 和 JWTBearer 身份验证。我在 Startup class id:

的 ConfigureService 方法中的代码
services.AddIdentity<User, Role>()
      .AddDefaultTokenProviders();

  //JwtSecurityTokenHandler.DefaultInboundClaimTypeMap.Clear();

  services.AddAuthentication(options =>
  {
    options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
  })
  .AddJwtBearer(options =>
  {
    options.RequireHttpsMetadata = false;
    options.SaveToken = true;
    options.Audience = Configuration.GetSection("JwtIssuer").Value;
    options.ClaimsIssuer = Configuration.GetSection("JwtIssuer").Value;
    options.TokenValidationParameters = new TokenValidationParameters
    {
      ValidateIssuer = true,
      ValidateAudience = true,
      ValidateLifetime = true,
      ValidateIssuerSigningKey = true,
      ValidIssuer = Configuration["JwtIssuer"],
      ValidAudience = Configuration["JwtIssuer"],
      IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(Configuration["JwtKey"]))
    };
  });

配置启动方法class包含:

if (env.IsDevelopment())
{
    app.UseDeveloperExceptionPage();
}
app.UseAuthentication();
app.UseMvc();

我的问题是,当我调用 signInManager.PasswordSignInAsync 时,它包含带有身份验证令牌的 cookie 以进行响应。但我只想在 header 中使用 JwtBearer。是否有任何选项可以禁用 SignInManager 的 cookie?

使用 SignInManager.CheckPasswordSignInAsync():它执行完全相同的检查,但与 SignInManager.PasswordSignInAsync 不同,return 没有任何 cookie。