【问题标题】:How can I restrict my Azure Web App API access to only my Xamarin.Forms app?如何将我的 Azure Web 应用 API 访问限制为仅对我的 Xamarin.Forms 应用程序的访问?
【发布时间】:2020-01-22 10:24:00
【问题描述】:

我是一位经验丰富的 Xamarin 开发人员,但对后端的东西完全陌生。我编写了一个 API,其中包含一些数据,比如天气,我的 Xamarin.Forms 应用程序将查询这些数据。所有调用都是 GET 调用,因此没有安全问题,但我想限制 API,以便只有我的应用程序有权进行这些调用。这是为了防止其他一些狡猾的开发人员构建他们自己的应用程序来调用我的 API。

我了解到,在进行了一些研究后,最好的方法是让用户登录我的应用程序,然后通过 Azure AD 进行身份验证。但是,对于安全性不是真正问题并且不传递任何个人用户数据的轻量级应用来说,这非常麻烦。

有没有人有一个天才的例子来说明如何做到这一点?我发现this 文章非常有用,但它并没有真正给出解决方案。我接受这不是最安全的方法,但实际上这是一个风险/回报/努力的事情,我只是想让它比现在更困难一些(我基本上托管了一个非常好的公共 API !! )。

【问题讨论】:

  • 您不必让用户自己登录,但您可以这样做,因此应用需要获得授权并传递密钥以进行身份​​验证
  • 谢谢@ADyson,我在想这样的事情。是否有一些创建密钥的准则?我以前从未做过类似的事情。

标签: c# visual-studio asp.net-core xamarin.forms azure-web-app-service


【解决方案1】:

有志者事竟成。

您可以进行一些基本的过滤来阻止某些人,但如果没有对存储在您的应用程序外部的数据进行身份验证,那么有一种方法可以模仿您的应用程序并以一种潜在的意外方式使用您的 API。

This StackOverflow answer 更深入一点,但与同一点相呼应。

【讨论】:

  • 谢谢贾斯汀,那是我在问题中链接的同一篇文章。如前所述,我知道这不会是完美的,但它比我现在的位置向前迈进了一步。
猜你喜欢
  • 2018-09-02
  • 2017-09-23
  • 2017-07-19
  • 1970-01-01
  • 1970-01-01
  • 2021-08-15
  • 2016-07-18
  • 2019-07-15
相关资源
最近更新 更多