使用 JWT 的 .Net Core 2.1 WepAPI 中的身份验证和授权

Authentication & Authorization in .Net Core 2.1 WepAPI using JWT

我正在尝试在我的 Core 2.1 web 中实施 JWT AuthAPI。我仍在学习 Core 2.1,并且之前使用过 MVC5。我的问题是,在 MVC5 中,AccountController 是与所有控制器一起自动生成的,以处理完整的用户身份验证和授权过程。现在,当我尝试为我的 Core 2.1 API 实现相同的功能时,我意识到它们不再是自动生成的。我四处搜索并找到了很多教如何实现功能的资源,但我记得每个人都会说 不要重新发明 authorization/authentication 轮 并使用MVC5 提供的自动生成代码。现在我可以按照那里的教程并自己实施该过程,但几乎每个人似乎都在做自己的实施。这是这样做的正确方法吗?我不想按照这些教程实施并最终在我的 API.

中出现安全漏洞

我遇到了同样的问题。我不知道这是否是支持 authentication/authorization 的好方法,但我找到了解决方案。

一般网站api应该是纯apilink。然而当你:

1) 在 DatabaseContext 中从 IdentityDbContext 派生:

public class DatabaseContext : IdentityDbContext<ApplicationUser>

其中 ApplicationUser 是您自己的 class,它派生自 IdentityUser:

public class ApplicationUser : IdentityUser

2) 进行迁移,EF Core 将为您生成您需要的所有表

接下来,您必须在 Startup class 中设置 JWT 授权并在 AccountController 中创建方法以生成令牌。非常有用的视频 link

是否回答了您的问题?或者我错过了什么。我是 .NET 的新手