Authentication 在.NET核心身份验证中,AddJwtBearer和AddOpenIdConnect之间有什么区别?

Authentication 在.NET核心身份验证中,AddJwtBearer和AddOpenIdConnect之间有什么区别?,authentication,.net-core,jwt,openid-connect,Authentication,.net Core,Jwt,Openid Connect,我一直在研究使用Azure AD为我正在构建的API进行.NET核心身份验证的基础知识,并一直在尝试查找有关身份验证方案的信息。我了解了cookie和基于令牌的身份验证之间的区别,但在我看来,JwtBearer和OpenIdConnect选项非常相似,它们都基于令牌系统工作 我已经做了大量的搜索,但我找不到任何地方可以解释这两种方法之间的差异,在这种情况下,你会使用一种方法而不是另一种方法,甚至是这些方法的定义。我看过很多在线教程,甚至各种YouTube视频,其中大约60%使用AddJWTBea

我一直在研究使用Azure AD为我正在构建的API进行.NET核心身份验证的基础知识,并一直在尝试查找有关身份验证方案的信息。我了解了cookie和基于令牌的身份验证之间的区别,但在我看来,JwtBearer和OpenIdConnect选项非常相似,它们都基于令牌系统工作


我已经做了大量的搜索,但我找不到任何地方可以解释这两种方法之间的差异,在这种情况下,你会使用一种方法而不是另一种方法,甚至是这些方法的定义。我看过很多在线教程,甚至各种YouTube视频,其中大约60%使用AddJWTBearrer,其他人使用AddOpenIdConnect来指定他们的身份验证方案。有人能解释一下它们的作用和区别吗?

AddJwtBearer是验证令牌的.Net核心Rest API的默认选项

AddOpenIdConnect被(在我看来)应该避免的传统服务器端web应用程序使用(改为开发单页应用程序)。此选项处理服务器启动的浏览器重定向和发布cookie(uurrghh)


对于restapi,AddJwtBearer可能适合您,但是如果您想要更好的控制,也有一些非常好的扩展性选项。作为一个示例,my演示了如何实现基于声明缓存的解决方案。

您使用AddJwtBearer来保护API,这意味着API的客户端发送JWT令牌来访问API,否则就没有人与API交互

AddOpenIdConnect用于保护web应用程序的安全,在该应用程序中,您可以进行人机交互(登录/注销…),因为您通常会将用户重定向到身份提供商