首页 文章

使用IdentityServer4保护Web API 2.2

提问于
浏览
5

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

  • 我应该使用IdentityServer3.AccessTokenValidation nuget包还是我必须使用IdentityServer4.AccessTokenValidation? (我尝试使用IdentityServer4.AccessTokenValidation包,但它添加了许多与ASP.Net Core相关的依赖项)

  • 我将不得不使用权限URL的值是什么?

我可以找到许多使用IdentityServer4来保护ASP.Net Core Web API的示例 . 但是找不到使用IdentityServer4保护Web API 2.2的好例子 . 如果可能的话,请指出Web API端所需的身份服务器配置的好例子 .

1 回答

  • 7

    回答你的问题:

    1)您的WebApi 2.2项目无疑使用ASP.NET 4.x中的OWIN / Katana,这意味着您应该使用 IdentityServer3.AccessTokenValidation . IdentityServer4.AccessTokenValidation与新的ASP.NET MVC Core管道兼容 .

    2)您可以通过 {IdentityUrl}/.well-known/openid-configuration 转到身份提供者发现文档来获取您的权限 . 权限应与发现文档中的"issuer"值相同 . 您还可以通过查看"iss"声明查看您的身份提供商发布的JWT来获取权限 .

相关问题