Azure 通过移动设备使用Active Directory对用户进行身份验证

Azure 通过移动设备使用Active Directory对用户进行身份验证,azure,mobile,xamarin,active-directory,Azure,Mobile,Xamarin,Active Directory,这确实是一个最佳实践/安全类型的问题。 这里是设置-我正在构建一个移动应用程序,以便我们的员工可以在他们的移动设备上接收紧急通知(服务器中断、影响他们所在大楼的恶劣天气等)。在当前(非常非常alpha)阶段,当在移动应用程序上注册时,他们只需输入用户名。从本质上讲,没有什么可以阻止某人下载应用程序并使用“管理员”或类似的通用帐户进行“注册”。我想要的是,用户还必须输入他们的广告密码并进行身份验证,以验证他们实际上就是用户 这里的陷阱?我们的广告基础设施不是面向外部的。我们的DMZ中当然有web服

这确实是一个最佳实践/安全类型的问题。 这里是设置-我正在构建一个移动应用程序,以便我们的员工可以在他们的移动设备上接收紧急通知(服务器中断、影响他们所在大楼的恶劣天气等)。在当前(非常非常alpha)阶段,当在移动应用程序上注册时,他们只需输入用户名。从本质上讲,没有什么可以阻止某人下载应用程序并使用“管理员”或类似的通用帐户进行“注册”。我想要的是,用户还必须输入他们的广告密码并进行身份验证,以验证他们实际上就是用户

这里的陷阱?我们的广告基础设施不是面向外部的。我们的DMZ中当然有web服务器,但我们不希望将其用于身份验证。我目前正在使用Azure移动服务进行设备注册。我们这里的服务器(不是外部的)然后联系Azure以获取用户列表及其设备ID(当需要发出通知时),并适当地发送通知

我可以想出两种方法来做我想做的事情(一个例子——将注册的加密密码发送到表中,服务器抓取并解密,检查身份验证,然后用pass/fail将通知发送回设备),但我需要其他人的一些输入。 你打算怎么做?你已经做过这样的事了吗?我现在对所有的想法都持开放态度。正如所料,安全性是最高关注点,其次是效率/速度

注意:这适用于iOS/WinPhone/Android,使用Xamarin


编辑:对不起,我应该提到,我们也有Citrix XenMobile/Worx可用。我完全忘记了(那是另一支球队的)。不过,不确定Worx是否可以将用户名传递给应用程序。。。(我对Worx一无所知)

我会使用Azure Active Directory(AAD)。您可以将onprem广告基础架构与AAD集成,有关更多信息,请参阅

然后,您可以将AAD auth添加到您的应用程序中,有关将auth添加到移动应用程序的信息,请参阅


一旦您的移动应用程序具有AAD身份验证,您就可以使用Azure Active Directory身份验证库(ADAL)。看见这里有几个关于如何传递令牌和使用AAD的代码示例:。

您可能需要与XenMobile组件的幕后人员聊天,因为它可能会为您的问题提供解决方案。它可能提供以下内容(可能是因为它取决于安装的内容和配置方式)

  • 应用VPN
  • SSO机制(NTLM、KCD、Basic、Formfill等)

在full blow XenMobile(MDM、AppC、Netscaler)中,您可以“包装”应用程序并使用VPN连接到后端服务。然后,您可以直接调用AD,也可以不构建身份验证并依赖web服务和netscaler。类似于webservice发出401挑战,netscaler截取用户凭据并回答,web服务器的数据传递到应用程序。

奇怪,我想我已经留下了评论。我将对此进行调查,但不确定该公司是否愿意这样做。我们是一个相当大的(40K+用户)非营利组织,我们的安全团队可能不喜欢这个想法。。。