繁体   English   中英

使用Windows Azure Service Management API的iOS应用程序的可行性?

[英]Feasibility of iOS App using Windows Azure Service Management API?

我一直在努力设置一个利用服务管理API的iOS(Objective-C)应用程序。 我已经成功地使Storage API调用工作正常,但是从我的阅读中可以看出,两个Azure API之间的一个大差异似乎是身份验证问题。 作为参考,我理想地要做的是设置一个简单的API调用,以列出应用程序中的Hosted Services帐户(最终适用于公共部署)。

根据API Azure文档,服务管理API需要上传管理证书(.cer),然后客户端才能使用该证书对请求进行身份验证。 我的直觉是,这将使我想要创建的应用程序无论如何都无法实现,因为使用包含已下载应用程序的设备的公共用户将没有该证书,也无法以编程方式将其附加到Objective-C中。码。

我的预感是正确的吗? 这是一个不应该追求的荒谬想法吗? 我认为要做到这一点,将要求用户以某种方式将其设备的证书文件上传到Azure,然后以某种方式让应用程序将此证书用于身份验证。 即使有可能,我也从哪里开始感到迷茫。 :(

任何有用的信息将不胜感激。 我在iOS方面有很多经验,但是特别是在这种身份验证/证书方面,我的经验很少。

提前致谢!! -文森特

实际上,我有一个应用程序可以完全满足您的要求。 适用于Windows Azure的CloudTools是一个iOS应用,使用Azure管理服务API来执行Azure管理。 它已经在iTunes上发布了一年多。

您的问题有些广泛,但是我可以告诉您,证书问题是迄今为止设计/开发应用程序中最大的问题。 您不能将证书存储在钥匙串中,因为钥匙串的工作方式如下:a)您请求一个需要证书的远程URL; b)url告诉您它需要证书,并且c)钥匙串提供了适当的证书。 这是一个多请求过程。 不适用于Azure,因为Azure服务管理API希望初始调用包含证书。

我要求用户通过iTunes File Sharing添加他们的证书( 此处的步骤 )。 当然,他们必须将公钥部分上传到Azure。 然后,我随每个请求提供证书和私钥。 我使用HTTP库ASIHttpRequest ,尽管我相信最新的(iOS 5.x)Apple库具有类似的功能。

如果您有任何后续问题,我们很乐意提供更多详细信息。

在Windows Azure中,如果您使用的是Service Management API,则确实需要基于证书的身份验证才能在请求连接的计算机和Windows Azure管理门户之间创建SSL隧道。 我不确定您的iOS应用程序分布范围是多少。

我的第一个想法是,为什么要从iOS应用程序部署Windows Azure应用程序,是否要在iOS设备中构建应用程序并进行部署? Windows Azure应用程序部署通常在客户端计算机上完成,因此,iOS上的Azure应用程序管理是一个好主意,但是从iOS进行应用程序部署并不确定原因。 在这两种情况下,您实际上都需要iOS设备上的服务管理证书。 如果这是一个企业应用程序,您可以在其中允许用户安装服务管理证书,则iOS设备可以更轻松地使用服务管理API。

因此,如果您想从客户端iOS应用程序使用Service Management API,我认为最好的解决方案是在Windows Azure中托管WCF服务,该服务配置为直接与Windows Azure门户连接。 从iOS应用程序中,您只需调用WCF服务即可。 这是一种非常流行的方法,可以从任何客户端应用程序(WP7,iOS,Android)访问服务管理API(通过WCF服务),并且客户端代码非常轻巧。 另一方面,您可能需要付费才能在Windows Azure上托管WCF服务。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM