首页 > 解决方案 > 仅通过受信任的 Android、iOS 和 Web 应用程序访问 Azure APIM

问题描述

我们的系统有 Android、iOS 和 Azure Web 应用程序,它们将调用为 Azure API APP 创建的 Azure APIM。

问题陈述是: APIM 应该只能通过 Android、iOS 和 Azure Web 应用程序访问,对于邮递员或任何不同的移动应用程序或 Web 应用程序等其他客户端,APIM 应该给出access denied错误。我们需要一个解决方案,其中不应从任何受信任的客户端传递标头,因为这可以被利用,并且可以通过第三方客户端(如邮递员等)调用 API。

标签: androidiosazureauthenticationazure-api-management

解决方案


您可以通过 Web 和最终用户设备做的事情不多。在 Web 应用程序中,您无法安全地验证客户端应用程序,因为您可能想要使用的流量和所有机密对用户都是可见的。它在 Android 和 iOS 中更安全一些,但如果手机可能被 root 或越狱。

因此,我建议不要依赖应用程序机密,而应考虑身份验证用户本身。就像任何其他 Web 应用程序一样,用户获取令牌并使用该令牌访问 API。由于它是用户级别的令牌,因此将其公开给用户是安全的。查看 OAuth。如果你想使用 JWT 令牌 APIM 有 validate-jwt 策略来检查它们。


推荐阅读