如何在Web API 2应用程序中限制API对已知客户机应用程序的访问

本文关键字:应用程序 API 访问 客户机 Web | 更新日期: 2023-09-27 18:10:30

我创建了一个由三个主要组件组成的应用程序:

    一个。net WebApi 2项目,提供了几个WebApiControllers。有些方法,如"Register"是对匿名访问开放的,而其他方法则使用基于令牌的基本授权(标准的。net Identity 2方法包含在。net WebApi2模板中)。为了实现快捷的功能,这一层使用实体框架直接与我的数据库通信。
  1. 提供前端web客户端并与web API通信的MVC5项目。
  2. 一个与Web API通信的iOS客户端。

使用此结构,最终用户("消费者")可以使用未经身份验证的"Register"API方法创建自己的帐户。然后,用户可以通过基于令牌的授权头保护的身份验证方法访问和操作他们自己的数据。

我的问题是:

我如何防止未知的客户端调用API,而不创建显著的开销或检修标准的。net Web API授权功能?

理想情况下,我希望能够为客户端应用程序提供某种类型的标识符表,以便我可以根据需要允许或禁止新的客户端应用程序。

如何在Web API 2应用程序中限制API对已知客户机应用程序的访问

看一下Active Directory清单中的knownClientApplications参数。https://learn.microsoft.com/en-us/azure/active-directory/develop/active-directory-application-manifest