-1

我们有一个基于 Spring MVC&JSF的 Web 应用程序,它使用Spring安全性使用 LDAP 提供程序进行用户身份验证,并在成功身份验证后从 oracle 数据库中获取用户配置文件。

现在我需要将 facebook、gmail 和 yahoo 邮件与这个应用程序集成。

预期的行为是在登录此 Web 应用程序后,用户也应自动登录到 facebook、gmail 和 yahoo 邮件。oracle 数据库中的用户配置文件将包含 gmail、facebook 和 yahoo 邮件的登录 ID。

应用程序中的菜单将包含 gmail、yahoo mail l 和 facebook 的链接,而用户将点击这些菜单,相应的网站将在 iframe 中为该用户打开,而无需询问该网站的用户 ID 和密码。如果不需要将用户的 gmail、yahoo 邮件和 facebook 帐户的密码保存到数据库中,这是很好的。请让我知道是否有任何方法可以实现这一目标。

我开始考虑使用OAuth2,但不知道这是否是正确的前进方式。请帮助我提供一些相关的单点登录解决方案来解决这个问题。

[注意:Web 应用程序使用 Java 6、Tomcat 6、jsf 作为 FE & hibernate 作为 ORM & Spring MVC & Spring 安全性框架]

4

1 回答 1

1

Facebook、Gmail 和 Yahoo 本身就是身份提供者。那里的大多数文档(例如 using OAuth)解释了如何使用 FB、Google 或 Yahoo 登录到其他应用程序。

您要实现的场景正好相反:使用您自己的身份提供者作为应用程序登录 Y!、Gmail 和 FB(根据您阅读的文档称为 RP 或 SP)。通常这是不可能的,因为他们没有启用此功能。

Google 可以(如果使用 Google Apps)因为他们启用了 SAML 集成。因此,您可能会这样做,但可能不适用于以消费者为中心的 gmail 帐户。

于 2013-05-04T16:30:42.937 回答