c# - 如何将我的 Azure Web 应用 API 访问限制为仅对我的 Xamarin.Forms 应用程序的访问?
问题描述
我是一位经验丰富的 Xamarin 开发人员,但对后端的东西完全陌生。我编写了一个 API,其中包含一些数据,比如天气,我的 Xamarin.Forms 应用程序将查询这些数据。所有调用都是 GET 调用,因此没有安全问题,但我想限制 API,以便只有我的应用程序有权进行这些调用。这是为了防止其他一些狡猾的开发人员构建他们自己的应用程序来调用我的 API。
我知道已经做了一些研究,最好的方法是让用户登录我的应用程序,然后通过 Azure AD 进行身份验证。然而,对于一个安全性不是真正问题并且没有个人用户数据被传递的轻量级应用程序来说,这非常麻烦。
有没有人有一个天才的例子来说明如何做到这一点?我发现这篇文章非常有用,但它并没有真正给出解决方案。我接受这不是最安全的方法,但实际上这是一个风险/回报/努力的事情,我只是想让它比现在更困难一些(我基本上托管了一个非常好的公共 API !! )。
解决方案
有志者,事竟成。
你可以做一些基本的过滤来阻止一些人,但是如果没有对存储在你的应用程序之外的数据进行身份验证,那么就有一种方法可以模仿你的应用程序并以一种可能无意的方式使用你的 API。
这个 StackOverflow 答案更深入一点,但与同一点相呼应。
推荐阅读
- c# - 二维数组转换为一维数组,是完整副本还是对旧内存的另一个引用?
- python - python中的Microsoft访问连接错误
- python - 检索字典值直到某一点
- c++ - #pragma once 在 Visual Studio 中不起作用
- javascript - 下载前倒计时仅适用于第一个按钮
- c - C中不同大小的矩阵数组
- r - 如何从一个 lmer 模型中提取所有非参考水平连续变量系数的置信区间?
- php - 在具有不同对象的单个数组中获取 API 响应
- wordpress - 如何知道 yoast seo 图片是否上传并在 wordpress 中为 og:image 添加条件
- mysql - MySQL 每个查询/子查询是否只使用一个索引?