我是一名ASP.NET Core WEB API应用程序的工作人员。
在登录时,我通过SignInManager验证用户,代码如下:
await _signInManager.PasswordSignInAsync
然后我为该用户生成JWT令牌。
我在控制器方法中添加了[Authorize]标记。
当我没有令牌或无效令牌发送请求时,我得到404错误而不是401错误。
这是startup.cs文件。
var tp_options = new TokenProviderOptions
{
Audience = xyz,
Issuer = xyz,
SigningCredentials = new SigningCredentials(signingKey, SecurityAlgorithms.HmacSha256),
};
app.UseJwtBearerAuthentication(new JwtBearerOptions
{
AutomaticAuthenticate = true,
AutomaticChallenge = true,
TokenValidationParameters = tokenValidationParameters,
AuthenticationScheme = JwtBearerDefaults.AuthenticationScheme,
});
app.UseStaticFiles();
app.UseFileServer();
app.UseIdentity();
我已经添加了
app.UseIdentity();
。这个是为了signInManager验证登录所必需的。如果我移除
app.UseIdentity()
,我会得到401错误,但signInManager会抛出异常"没有配置处理程序来处理方案: Identity.Application"我如何同时实现两种功能。我想要同时使用JWT令牌验证和ASP IDENTITY。