首页 > 解决方案 > .NET Core Web API 身份验证和 .NET 身份

问题描述

我最近接手了一个 .NET 核心 MVC 项目,并且必须使用 API 对其进行扩展。使用 .NET 核心身份进行身份验证。来自 swift iOS/Mac 开发,我开始了一个演示项目,并进行了一些基本的身份验证。

在阅读Microsoft 文档上的身份时,他们专注于 WebApps。所以我的问题是:

我的目标是创建受 jwt-auth 保护的路由,并能够获得带有用户名和密码的 jwt。

标签: c#asp.netauthenticationasp.net-identityjwt-auth

解决方案


ASP.NET Core Identity 不适合保护 API,其他身份提供者的使用由Docs指导:

ASP.NET Core Identity 向 ASP.NET Core Web 应用程序添加了用户界面 (UI) 登录功能。要保护 Web API 和 SPA,请使用 以下方法之一:

  • Azure 活动目录
  • Azure Active Directory B2C (Azure AD B2C)
  • 身份服务器4

并根据上一个链接:

IdentityServer4 是用于 ASP.NET Core 的 OpenID Connect 和 OAuth 2.0 框架。IdentityServer4 启用以下安全功能:

  • 身份验证即服务 (AaaS)
  • 多种应用程序类型的单点登录/注销 (SSO)
  • API 的访问控制
  • 联合网关

所以你需要使用IdentityServer4


推荐阅读