.net 使用IdentityServer4保护Web API 2.2

.net 使用IdentityServer4保护Web API 2.2,.net,asp.net-web-api,identityserver4,.net,Asp.net Web Api,Identityserver4,我有Web API 2.2,它使用angular2应用程序正在使用的.Net 4.5.2框架,并且有现有的IdentityServer 4实现。我想使用IdentityServer4保护我的Web API。我的问题是,我可以使用IdentityServer4保护Web API 2.2吗?如果是,那么我有两个后续问题 我应该使用IdentityServer3.AccessTokenValidation nuget软件包还是必须使用IdentityServer4.AccessTokenValidat

我有Web API 2.2,它使用angular2应用程序正在使用的.Net 4.5.2框架,并且有现有的IdentityServer 4实现。我想使用IdentityServer4保护我的Web API。我的问题是,我可以使用IdentityServer4保护Web API 2.2吗?如果是,那么我有两个后续问题

  • 我应该使用IdentityServer3.AccessTokenValidation nuget软件包还是必须使用IdentityServer4.AccessTokenValidation?(我尝试使用IdentityServer4.AccessTokenValidation包,但是它添加了许多与ASP.Net核心相关的依赖项)
  • 我必须使用的权限URL的值应该是多少
    我可以找到许多使用IdentityServer4保护ASP.Net核心Web API的示例。但是,找不到使用IdentityServer4保护Web API 2.2的好例子。如果可能的话,请给我指出Web API端所需的identityserver配置的好例子

    要回答您的问题:

    1) 毫无疑问,您的WebApi 2.2项目正在使用ASP.NET 4.x中的OWIN/Katana,这意味着您应该使用
    IdentityServer 3.AccessTokenValidation
    。IdentityServer4.AccessTokenValidation与新的ASP.NET MVC核心管道兼容


    2) 您可以通过访问位于
    {IdentityUrl}/.well-known/openid-configuration
    的身份提供者发现文档来获得授权。授权应与发现文档中的“发行人”值相同。您还可以通过查看“iss”声明来查看身份提供商发布的JWT来获得授权。

    2017年以后,IdentityServer3.AccessTokenValidation将保持冻结状态,而Microsoft将重构其Owin和identity LIB,因此ASP.NET 4.6+的首选解决方案将成为--fork,根据最近的框架更改进行重构

    您正在使用ASP.NET 4.5吗?如果是这样,我认为使用IdentityServer3会更安全。IdentityServer4是对ASP.NET核心(包括但不限于依赖项注入)Pankaj模块化的重写,您有过这样的工作吗?我面临着同样的项目,我很好奇。任何有用的提示都将不胜感激!我正在寻找同样的解决办法。您是否能够成功部署?你能分享一些好的参考链接吗?谢谢。IdentityServer3.AccessTokenValidation库是否能够验证IdentityServer4中的令牌?是的,IDS3和IDS4都是授权服务器,提供符合OAuth 2.0/OpenIDConnect标准的JWT令牌。由于实现OAuth流的任何客户机都可以与OAuth授权服务器交互,因此可以使用标准化方法验证OAuth授权服务器发布的jwt令牌。简而言之:IDS3和IDS4是同一组标准的不同实现。