【问题标题】:.NET Core Web API Authentication and .NET Identity.NET Core Web API 身份验证和 .NET 身份
【发布时间】:2020-10-15 18:48:58
【问题描述】:

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

在阅读Microsofts Docs 上的身份时,他们会关注 WebApps。所以我的问题是:

  • 我应该将身份用于 API 身份验证还是仅用于内部身份管理和 WebApp 内容?
  • identity/.NET 核心是否已经为我提供了 jwt 和例如最初获得 jwt 的基本身份验证还是我必须自己创建很多?

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

【问题讨论】:

  • 使用身份服务器4

标签: c# asp.net authentication asp.net-identity jwt-auth


【解决方案1】:

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

ASP.NET Core Identity 将用户界面 (UI) 登录功能添加到 ASP.NET Core Web 应用程序。 要保护 Web API 和 SPA,请使用其中一种 关注

  • Azure 活动目录
  • Azure Active Directory B2C (Azure AD B2C)
  • IdentityServer4

根据上一个链接:

IdentityServer4 是一个 OpenID Connect 和 OAuth 2.0 框架,用于 ASP.NET 核心。 IdentityServer4 启用了以下安全功能:

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

所以你需要使用IdentityServer4

【讨论】:

  • 谢谢,这正是我想要的。
【解决方案2】:

您应该为此使用身份服务器4。

参考身份服务器 4 的简单示例,以使用令牌保护客户端。

identity-server4 simple example

您还需要了解更多内容,请参阅identity server 4 official doc

另外你也可以关注step by step identity server setup video tutorial

【讨论】:

  • youtube.com/playlist?list=PLOeFnOV9YBa7dnrjpOG6lMpcyd7Wn7E8V ..你也可以参考这个..逐步设置
猜你喜欢
  • 2017-04-27
  • 2017-09-05
  • 2020-09-05
  • 2017-07-27
  • 2018-12-17
  • 2020-10-28
  • 2021-08-27
  • 2018-02-08
  • 2017-06-26
相关资源
最近更新 更多