Mac - 从浏览器传递参数启动桌面应用程序

时间:2012-08-22 19:54:03

标签: objective-c macos clickonce single-sign-on

我在.Net上编写了一个在Windows上运行的点击一次部署的应用程序。我需要从浏览器启动应用程序,以便我可以根据当前的浏览器会话将信息传递给应用程序(HTTPHeader包含需要传递给应用程序的单点登录ID,以便它可以调用安全的Web服务)。

因此,click-once应用程序作为jsp上的链接提供,并且所需的id作为链接中的查询字符串参数传递,单击应用程序可以读取该文件。)

现在我需要为Mac用户提供类似的功能。有没有办法做到这一点,不需要Java?我想用Objective C编写,但接下来是如何从浏览器触发应用程序启动的问题,传递必要的信息仍然存在。

流程是:

  1. 用户点击我们网站的链接
  2. 用户被路由到单点登录身份验证表单
  3. 用户提交表单并重定向到我们的网站(ID嵌入在HTTPHeader中)
  4. 服务器构建页面,其中包含指向附加了id作为查询字符串参数的Click Once应用程序的链接
  5. 用户点击链接,点击一旦部署的应用程序下载并在用户计算机上完全信任执行(该应用程序使用代码签名证书签名)。
  6. 应用程序在用户计算机上本地运行,并在服务器上调用RESTful Web服务,将单点登录ID作为cookie传递给Web请求,以允许请求通过。
  7. 我很感激任何让我走上正确道路的想法,因为我主要是Windows开发人员。

    谢谢!

1 个答案:

答案 0 :(得分:1)

我刚刚看到您关于此主题的original post请求。

对此的需求被搁置了一段时间,但我们可能会采用的解决方案是让服务器端进程即时修改已交付的Zip或DMG文件。附加信息将插入应用程序的Info.plist文件中。这不会使加密签名无效,也不需要下载任何其他内容。

相关问题