【问题标题】:Cross-os simple web-browser for Facebook authenticating用于 Facebook 身份验证的跨操作系统简单网络浏览器
【发布时间】:2012-09-15 06:04:54
【问题描述】:

我目前正在尝试允许用户在我的 Java 应用程序中使用他们的 Facebook 帐户登录。但是,这需要浏览器显示 Facebook 身份验证的网页。

我现在正在寻找一个“浏览器”项目:

  • 跨操作系统
  • 支持单帧(即在该网址显示页面,没有前进/后退/刷新按钮)
  • 支持相对较新的网络标准(Facebook 使用)
  • 最好是轻量级

我试图避免使用 Eclipse SWT,因为它需要让跨操作系统工作的所有麻烦。这是一个相对较小的项目,我想保持简单。基于 swing 的浏览器也不是替代品,因为它不支持较新的网络标准。

是否有任何项目可以满足我的需求?有没有其他方法可以在没有浏览器的情况下执行此操作?

【问题讨论】:

  • Mozilla 曾经有一个名为“Prism”的东西,用于基于浏览器的独立应用程序。虽然现在已经停止,但项目页面列出了两个替代方案,可能值得一看:wiki.mozilla.org/Prism
  • @CBroe 感谢您的回复! Chromeless 和 WebRunner 似乎都无法下载..
  • 对不起,我没有看更多——似乎那些现在也已经停产了。以“kiosk”模式启动的“普通”浏览器能否解决您的问题?
  • @CBroe 绝对!只要我能够以编程方式访问浏览器(最好是在 url 更改时触发的位置侦听器事件),并且浏览器本身支持 Facebook 的基础知识;这将是完美的。最好只包含页面本身;没有地址栏/后退前进按钮;但是,这不是必需的。
  • @CBroe 你知道这样的项目吗?

标签: java facebook authentication browser


【解决方案1】:

您是否尝试过以下任何一种控制方式:

【讨论】:

  • 感谢您的回复! WebView 似乎没有提供任何订阅位置/网址更改的功能?除此之外,它是完美的。如果不是因为它增加了相当多的麻烦以使其跨操作系统工作,SWT 将是完美的。 Lobo Browser 似乎已经死了,根本不支持 Java 7..
  • 他们是我没有提到的一个组件,因为它不是免费的。但它似乎可以满足您的所有需求,并且有 30 天的试用期,看看它是否真的可以满足您的需求。将其添加到列表中。
  • 我决定使用 JavaFX;稍后我将更新您的答案,以分享我如何做到这一点的代码。再次感谢!
【解决方案2】:

我之前成功使用过Lobo Browser。您要做的是将 NavigationAdapter 添加到 BrowserPanel,然后检查 NavigationEvent url 是否设置为

https://www.facebook.com/connect/login_success.html#access_token=USER_ACCESS_TOKEN

为了成功授权。

有关最后一部分的更多信息,请查看相应的Facebook page

【讨论】:

    【解决方案3】:

    您可以尝试 javaFX2.0,如果您使用的是 jdk1.7,它可以在 Windows、Linux 和 Mac 上运行。 您可以将浏览器嵌入到摆动面板中并显示/隐藏后退/刷新/前进/地址栏。

    http://docs.oracle.com/javafx/2/swing/SimpleSwingBrowser.java.htm

    我建议您使用 OAuth API,而不是创建自己的方式,并查看用户的登录是否成功。 如果您的应用程序仅存储用户的基本信息,您可以在 OAuth 的帮助下获取这些信息。 在这种情况下,您无需担心处理用户密码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-23
      • 1970-01-01
      • 2012-04-12
      • 2019-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多