为Android和iOS应用程序保护Azure.asmx web服务



我正在开发一个带有sql后端的标准Azure.NET云服务。sqldb保存各种信息,包括用户名和密码的详细信息。我有一个.NET应用程序,它使用自定义用户名/密码验证器通过WCF使用消息加密与Azure通信。此外,我有两个为Android和iOS编写的移动应用程序,它们目前使用我在一个小.asmx文件中定义的一些web服务(使移动应用程序能够轻松调用API的遗留代码)。我本来想在移动应用程序中添加身份验证,但在信息的重压下慢慢下沉:)

我原以为Azure移动服务是最好的选择(这意味着我可能必须使用自定义API重写.asmx文件),但这似乎只提供针对谷歌、Facebook等身份提供商的身份验证。理想情况下,我想使用我们的sql后端作为身份提供商,但我读过各种文章,说这很难做到。事实上,有一篇文章建议使用名为Auth0的商业解决方案。

我并不反对商业解决方案,但我真的只是想知道最简单的方法应该是什么。Azure移动服务还是其他什么?

任何能引导我朝着正确方向前进的帮助都会很棒。

如果您愿意,您可以使用自己的数据库作为身份提供者来进行"自定义"身份验证,但如前所述,这确实需要一些工作(至少不仅仅是打开Facebook/Twitter/等)。我有两篇文章解释了如何使用移动服务设置自定义身份验证:http://chrisrisner.com/Authentication-with-Windows-Azure-Mobile-Serviceshttp://chrisrisner.com/Custom-Authentication-with-Azure-Mobile-Services-and-PikShare

第二个链接提供了有关简化相关脚本以及使用移动服务的自定义API功能来处理注册/登录的信息。在大多数情况下,这些脚本可以放入移动服务中。但是,由于您有一个现有的数据库要将移动服务连接到该数据库,因此在确保表结构与移动服务的预期匹配方面可能会遇到问题。如果无法立即添加现有表,您可能需要为您的移动服务调整架构/创建一个具有必要用户信息的表。

最新更新