【问题标题】:Mac - Launch desktop application from browser passing parametersMac - 从浏览器传递参数启动桌面应用程序
【发布时间】:2012-09-13 05:20:37
【问题描述】:

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

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

现在我需要为 Mac 用户提供类似的功能。有什么不需要Java的方法吗?我想用Objective C编写,但是如何从浏览器触发应用程序的启动,传递必要的信息的问题仍然存在。

流程是:

  1. 用户点击我们网站的链接
  2. 用户被路由到单点登录验证表单
  3. 用户提交表单并被重定向到我们的网站(ID 嵌入在 HTTPHeader 中)
  4. 服务器构建页面,其中包含指向 Click Once 应用程序的链接,并将 ID 作为查询字符串参数附加
  5. 用户单击链接,一旦部署的应用程序下载并在用户计算机上以完全信任的方式执行(应用程序使用代码签名证书进行签名),请单击。
  6. 应用程序在用户计算机上本地运行,并调用服务器上的 RESTful Web 服务,将单点登录 ID 作为 cookie 与允许请求通过的 Web 请求一起传递。

由于我主要是一名 Windows 开发人员,因此我将不胜感激任何能指引我走向正确道路的想法。

谢谢!

【问题讨论】:

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


    【解决方案1】:

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

    对此的需求曾一度被搁置一旁,但我们可能会追求的解决方案是拥有一个服务器端进程,可以即时修改交付的 Zip 或 DMG 文件。附加信息将被插入到应用程序的 Info.plist 文件中。这不会使加密签名无效,并且不需要下载任何其他内容。

    【讨论】:

    • 谢谢。我们从来没有在 Mac 上这样做过,但我很欣赏这个答案。很抱歉 3 年才看到它:)
    • 别担心!我们也从未追求过这一点。老实说,App Store 可能是苹果拥有的最接近微软一键部署的东西。
    猜你喜欢
    • 2016-08-23
    • 1970-01-01
    • 2012-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-11
    相关资源
    最近更新 更多