Azure Mobile应用程序中的应用程序身份验证怎么样?

时间:2016-05-30 09:55:54

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

我根据以下this文章在Azure移动应用中使用自定义身份验证。

客户端应用程序是Cordova App

我做的步骤:

  1. 启用应用服务身份验证
  2. 添加Microsoft.Azure.Mobile.Server.Login NuGet包
  3. 创建自定义身份验证端点
  4. 配置要求身份验证的服务
  5. 在客户端上使用令牌
  6. 它可以在动作方法/控制器上使用 [授权] 属性。

    用户名/密码身份验证对我来说还不够。我想要的是确保只有我的移动应用程序(客户端)才能使用Azure端点上托管的移动应用程序,而不能使用网络上的任何其他人(除了用户名/密码)。因此,某些app_id需要在双方进行验证,可能基于某种基于散列的消息身份验证。

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

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

1 个答案:

答案 0 :(得分:3)

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

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