gpt4 book ai didi

c# - Asp.Net WebApi Core 2.0 身份与 JWTBearer 没有 cookie

转载 作者:太空狗 更新时间:2023-10-29 22:35:45 24 4
gpt4 key购买 nike

我正在使用 ASP.Net Core WebApi 构建 Web 服务。我想使用 Identity 和 JWTBearer 身份验证。我在 Startup 类 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"]))
};
});

Startup类的Configure方法包含:

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

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

最佳答案

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

关于c# - Asp.Net WebApi Core 2.0 身份与 JWTBearer 没有 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48829473/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com