在 Azure API 管理上保护端点,以便只有应用程序(无需登录)才能调用它

Securing an endpoint on Azure API Management so that only an app (no login) can call it

我正在开发 Android 不需要任何登录即可使用的应用程序。此应用程序将调用我创建的 Azure API 管理上的端点。

是否可以确保只有该客户端(应用程序)能够调用 API?我试过 this tutorial 但它似乎要求用户在 Active Directory 上进行身份验证。

如果您使用 OAuth 和令牌访问您的 API,您可能想看看 client credentials。这是客户端(您的应用程序)进行身份验证并获取访问令牌的流程,无需任何用户交互。在移动环境中,您需要动态注册您的应用程序的每个安装,以便每个应用程序都有自己的秘密。您不能使用一个秘密并将其编译到您的代码中,因为任何人都可以窃取它。如果 DCR 对你来说太多了,你可以使用某种代理——让你的应用程序与后端服务对话,后者又与 OAuth 服务器对话。这样的后端服务可以保密并使用它来获取客户端凭据令牌。