You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET 6 API身份提供商选型求助:支持JWT与社交登录

针对.NET 6 API身份提供商的解决方案推荐

先澄清几个关键误解

  • AspNetCore.Identity并未弃用:Microsoft.AspNetCore.Identity系列包(包括Microsoft.AspNetCore.Identity.EntityFrameworkCore)仍是微软官方维护的基础身份管理组件,只是原Microsoft Identity Server被Duende接手,二者完全独立,你可以单独用Identity做用户管理。
  • Microsoft.AspNetCore.Identity.EntityFrameworkCore不强制依赖Duende:这个包仅提供Identity的EF Core存储实现,和Duende Identity Server没有绑定关系,可独立用来搭建身份系统。

推荐方案

1. 自定义身份系统(零成本、高自定义)

基于Microsoft.AspNetCore.Identity.EntityFrameworkCore + ASP.NET Core自带JWT中间件 + 第三方登录中间件搭建,完全满足你的需求:

  • 用户管理:用Microsoft.AspNetCore.Identity.EntityFrameworkCore实现用户存储、角色管理、密码哈希、账户验证等基础能力,支持自定义ApplicationUser实体扩展字段(比如昵称、头像地址)。
  • JWT令牌:通过Microsoft.AspNetCore.Authentication.JwtBearer中间件自行签发、验证JWT,完全控制令牌声明(如用户ID、角色)、过期时间、签名密钥等。
  • 社交登录:集成Microsoft.AspNetCore.Authentication.Google、Microsoft.AspNetCore.Authentication.LinkedIn等官方中间件,后端处理OAuth2回调流程,获取第三方用户信息后直接创建/关联本地账户,无需跳转第三方登录页——前端只需做自定义登录按钮,调用后端的社交登录接口,后端返回JWT即可。
  • 页面自定义:所有登录、注册、资料编辑页面由你的SPA完全控制,后端仅提供对应API接口(如注册接口、更新资料接口、社交登录回调接口)。

2. OpenIddict(轻量级开源身份框架)

MIT协议完全免费,专为ASP.NET Core设计,支持JWT、OAuth2、OpenID Connect:

  • 可与Microsoft.AspNetCore.Identity.EntityFrameworkCore无缝集成,复用现有用户存储。
  • 允许完全自定义登录流程和前端页面,支持Google、LinkedIn等社交登录,无需跳转第三方平台。
  • 文档清晰,部署简单,适合时间紧迫的中小项目,没有Duende的成本和审批门槛。

3. IdentityServer4(旧版但稳定免费)

虽然官方已停止维护,但社区仍有支持,功能完整:

  • 支持JWT和社交登录,自定义程度高,完全免费无门槛。
  • 注意:需选择稳定的旧版本,后续需自行承担维护风险。

内容的提问来源于stack exchange,提问作者StonM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 23:02:24