【问题标题】:Application identity authentication in Azure Mobile app. How?Azure 移动应用中的应用程序身份验证。如何?
【发布时间】:2016-05-30 09:55:53
【问题描述】:

我正在使用基于以下this 文章的 Azure 移动应用的自定义身份验证。

客户端应用程序是 Cordova 应用程序

我做的步骤:

  1. 打开应用服务身份验证
  2. 添加 Microsoft.Azure.Mobile.Server.Login NuGet 包
  3. 创建自定义身份验证端点
  4. 将服务配置为需要身份验证
  5. 在客户端使用令牌

并且它与动作方法/控制器上的 [Authorize] 属性配合得很好。

但是 用户名/密码 身份验证对我来说还不够。我想要的是确保只有我的移动应用程序(客户端)可以使用托管在 Azure 端点上的移动应用程序,而网络上没有其他人(除了用户名/密码)。所以需要双方验证某种 app_id,可能基于某种基于哈希的消息身份验证。

我找到的所有文章都描述了使用用户名/密码或通过 Azure AD 租户进行的自定义身份验证。但是一个打破另一个,而且我不需要Azure AD。

我怎样才能做到这一点?是否有一些内置方法?

【问题讨论】:

    标签: cordova azure authentication asp.net-web-api2 azure-mobile-services


    【解决方案1】:

    在使用自定义身份验证时,应用服务不为此提供任何内置支持。最接近的方法是使用 Azure Active Directory (AAD) 服务主体身份验证。 AAD 支持应用程序身份,您可以在登录时在签名令牌中检查应用程序的身份。但是,您将无法使用自定义用户名/密码。

    否则,我认为您最好的选择是在客户端和服务器上都有一些共享机密,以验证只有您的应用访问该服务。但是,这不被认为是一种安全的做法。理论上,下载您的移动应用的任何人都可以提取此秘密并从他们想要的任何应用中使用它,因此如果您出于安全原因需要限制访问,则不建议这样做。

    【讨论】:

      猜你喜欢
      • 2016-12-03
      • 1970-01-01
      • 2016-03-20
      • 2014-07-10
      • 1970-01-01
      • 2018-08-11
      • 1970-01-01
      • 2016-09-08
      • 1970-01-01
      相关资源
      最近更新 更多