这篇文章将为大家详细讲解有关怎样解决ios应用在企业内部分发遇到问题,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
最近遇到在企业内部分发iOS软件的时候,plist文件和ipa文件都不能下载安装的问题。安装苹果的官方文档:《通过网页服务器分发企业内部应用》。搭建了让企业内部员工下载的iOS安装包的服务。但最近给其中的静态资源文件服务器加上了需要用户输入用户名和密码的才能下载的文件的强验证,这直接导致plist文件和ipa不能下载了。
通过抓包发现,用户点击下载的时候,即点击如下代码的时候:
<a href="itms-services://?action=download-manifest&url=https://example.com/manifest.plist">Install App</a>
itms-services协议想要下载plist文件的Get请求,没有携带用户登录的cookie,导致下载失败。
根据《How to secure iOS enterprise distribution using oauth on a public facing website? 》这个帖子的思路,就是把请求下载plist文件和请求下载ipa文件的两个Get请求,都做成独立的服务,具体过程如下:
itms-services下载问题,应该用OAuth3的方案解决。具体应该看一看阮一峰关于OAuth3.0的几篇文章:
理解OAuth 2.0
OAuth 2.0 的一个简单解释
OAuth 2.0 的四种方式
最好使用OAuth3.0的授权码模式解决这个。OAuth3.0流程图如下:
授权码模式,只在前端暴露一次OAuth3.0授权码,后台通过前端获得的授权码,用来获得访问令牌,这样就保证访问令牌永远只在后台了。下次用户在请求,我们根据用户,就可以从数据库中查询出访问令牌,通过访问令牌,自己对第三方资源服务器进行调用了。
网络上面另外一张关于授权码模式流程图,这张图更加简洁:
关于怎样解决ios应用在企业内部分发遇到问题就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。