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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何限制对Web API 2应用程序中的已知客户端应用程序的API访问?相关的知识,希望对你有一定的参考价值。

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

  1. .NET Web Api 2项目,提供多个WebApiControllers。某些方法(如“注册”)对匿名访问开放,而其他方法则使用基于令牌的基本授权(.Net WebApi2模板中包含的标准.Net Identity 2方法)进行授权。为了快速和脏功能,该层使用Entity Framework直接与我的数据库通信。
  2. 一个MVC5项目,提供前端Web客户端并与Web API通信。
  3. 与Web API通信的ios客户端。

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

这是我的问题:

如何防止未知客户端调用API,而不会产生大量开销或检修标准.Net Web API授权功能?

理想情况下,我希望能够为客户端应用程序提供某种标识符表,以便我可以允许新的客户端应用程序或在必要时禁止它们。

答案

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

以上是关于如何限制对Web API 2应用程序中的已知客户端应用程序的API访问?的主要内容,如果未能解决你的问题,请参考以下文章

Spring Security OAUTH2 - 如何根据客户端 ID 限制对 API 的访问?

限制对 ASP.NET Web API 和身份中的注册用户的访问

如何根据用户限制对 mulesoft API 资源的访问?

一个项目中的 Web API 和 Web 应用程序与单独的项目

Lyft 是不是会限制对整个应用程序 API 的请求?

如何在 DigitalOcean 中限制对 Express API 的访问