我正在开发一个带有sql后端的标准Azure .NET云服务。 sql db包含各种信息,包括用户名和密码详细信息。我有一个.NET应用程序,通过使用自定义用户名/密码验证器在WCF上使用邮件加密与Azure进行通信。此外,我还为Android和iOS编写了两个移动应用程序,这些应用程序目前使用我在一个小的.asmx文件中定义的一些Web服务(遗留代码使移动应用程序能够轻松调用API)。我想在移动应用程序中添加身份验证,但在信息的重压下慢慢下沉:)
我原本认为Azure移动服务是可行的方式(意味着我必须使用自定义API重写.asmx文件),但这似乎只能提供针对Google,Facebook等身份提供商的身份验证。理想情况下我会想要使用我们的sql后端作为身份提供者,但已阅读各种文章说这是非常棘手的。事实上,有一篇文章建议使用名为Auth0的商业解决方案。
我并不反对商业解决方案,但我真的只是想知道最简单的方法应该是什么。 Azure移动服务还是其他什么?
任何帮助我朝着正确方向前进的帮助都会很棒。
答案 0 :(得分:0)
如果您愿意,可以使用您自己的数据库作为身份提供商进行“自定义”身份验证,但如上所述,它确实需要一些工作(至少不仅仅是打开Facebook / Twitter /等)。我有两篇文章解释了如何使用移动服务设置自定义身份验证: http://chrisrisner.com/Authentication-with-Windows-Azure-Mobile-Services http://chrisrisner.com/Custom-Authentication-with-Azure-Mobile-Services-and-PikShare
第二个链接提供有关简化所涉及脚本的信息,以及使用Mobile Services的自定义API功能来处理注册/登录。大多数情况下,这些脚本可以放入您的移动服务中。但是,由于您有一个现有的数据库,您需要将移动服务连接到,因此可能会遇到问题,确保表结构与移动服务所期望的相匹配。如果添加现有表格无法立即生效,您可能需要按摩您的架构/专门为您的移动服务创建一个表格,并附上必要的用户信息。