Asp.Net Core显式设置Cookie方案不起作用

时间:2019-05-08 11:51:59

标签: asp.net asp.net-core cookies jwt asp.net-authorization

我正在尝试在授权中同时使用JWT方案和Cookie方案。如Microsoft article中所述。当我这样做时,我可以看到它适用于使用JWT授权的请求。我通过向邮递员发出包含JWT令牌的请求来进行尝试。但是,它对于从我的站点的视图发出的Ajax请求不起作用,因此利用了Cookie授权。

缩小这个问题,向我表明,即使我明确指定了Cookie方案,它也不起作用:

[Authorize(AuthenticationSchemes = CookieAuthenticationDefaults.AuthenticationScheme)]

只有在我完全不指定方案的情况下,它才有效:

[Authorization]

这是我的Startup.cs:

services.AddAuthentication()
    .AddCookie(CookieAuthenticationDefaults.AuthenticationScheme)
    .AddJwtBearer(cfg =>
    {
        cfg.TokenValidationParameters = new TokenValidationParameters()
        {
            ValidIssuer = _configuration["Tokens:Issuer"],
            ValidAudience = _configuration["Tokens:Audience"],
            IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_configuration["Tokens:Key"]))
        };
    });

还有其他人遇到这个问题吗?还是有人知道为什么显式设置Cookie方案不起作用?

0 个答案:

没有答案