我有Web API 2.2,它使用.net 4.5.2框架,由angular2应用程序使用,并且存在IdentityServer4实现。我想使用IdentityServer4保护我的Web API。我的问题是我可以使用IdentityServer4保护Web API 2.2吗?如果是,那么我有两个跟进问题
我可以找到许多使用IdentityServer4来保护ASP.Net Core Web API的示例。但是找不到使用IdentityServer4保护Web API 2.2的好例子。如果可能的话,请指出Web API端所需的身份服务器配置的好例子。
答案 0 :(得分:9)
回答你的问题:
1)您的WebApi 2.2项目无疑使用ASP.NET 4.x中的OWIN / Katana,这意味着您应该使用IdentityServer3.AccessTokenValidation
。 IdentityServer4.AccessTokenValidation与新的ASP.NET MVC Core管道兼容。
2)您可以通过转到{IdentityUrl}/.well-known/openid-configuration
处的身份提供商发现文档来获取您的权限。权限应与发现文档中的“颁发者”值相同。您还可以通过查看“iss”声明查看您的身份提供者发布的JWT来获得权限。
答案 1 :(得分:0)
2017年之后,当Microsoft重构其Owin和Identity库时,IdentityServer3.AccessTokenValidation保持冻结状态,因此ASP.NET 4.6+的首选解决方案成为IdentityServer3.Contrib.AccessTokenValidation -一种叉子,根据最近的框架更改进行了重构。