通过外部Java程序在Web浏览器上安全地登录Gmail

时间:2020-03-06 14:30:55  来源:igfitidea点击:

是否存在从外部Java程序登录Web浏览器上的Gmail帐户的安全方法?我知道以下作品,但是还有更安全的选择吗?

Desktop.getDesktop().browse(new URI(
        "https://www.google.com/accounts/ServiceLoginAuth?continue=http://mail.google.com/gmail" +
        "&service=mail&Email=LOGIN&Passwd=PASSWORD&null=Sign+in"));

说明:外部Java程序是GmailAssistant,这是一个Gmail通知程序,已经使用JavaMail的IMAP功能。我只需要一种允许用户直接在Web浏览器中访问帐户的方法。

解决方案

如果我们担心该链接在页面中可见,请创建一个JavaScript文档,该文档将POST请求发送到服务器。

根据我们要集成的数量,我们可以检查Google单点登录(SSO)api。我正在研究如何使用它以及集成它的最佳方法

http://code.google.com/apis/apps/sso/saml_reference_implementation.html

胜利者

更新:

作为更好的选择,我们还应该检查此链接http://esoeproject.org/

如果我们想以编程方式访问GMail帐户的内容,强烈建议使用Google提供的IMAP访问。

反过来看问题,我们可以根据Google帐户设置OpenID身份验证方案。

如果我们真的想通过Java控制浏览器,则必须使用Web连接器,例如Selenium或者WebDriver。这两种方法都使我们可以直接从Java内部控制浏览器,并模拟用户键入文本,单击链接并提交表单。使用Selenium进行操作时要记住的一件事是,它与一个完整的新配置文件进行交互,该配置文件通常独立于标准Firefox性能。

我通过JavaMail API使用了Google的IMAP访问,这非常简单。

如果我们担心要发送用于登录的URL,请了解:

  • https://以www.google.com开头,并将在之前加密会话
  • 发送登录详细信息(甚至是要转到的页面)