2010-01-19 56 views
3

我有一个应用程序,它有一个内部的SSO与它的姐妹网站实施;使用CAS实现。它工作正常,并允许用户在站点之间进行无缝过渡。 (虽然首次访问每个站点,但用户必须向每个站点提供一些基本的细节)。SSO,Facebook连接,用户配置文件合并

现在我们想要继续并实现Facebook连接或者RPX Open Id。问题是,目前系统假设用户的电子邮件ID是唯一的。所以下面是一些问题:

  1. 如果我们允许脸书连接,那么电子邮件ID不能再是唯一的。要消除这个限制,将会太昂贵。
  2. 如果我们确实允许用户使用Facebook连接登录,为他保留了不同的用户配置文件;当他偏离姊妹站点时会出现问题吗?我们如何在不合并的情况下跟踪用户配置文件。或者即使我们合并,我们也无法在不从他那里获取特定于应用程序的凭据的情况下对其进行身份验
  3. 假设他已登录到应用程序SSO和Facebook连接;如果我们始终把SSO作为优先事项;它基本上意味着facebook连接流将不得不被登录的用户隐藏;这将意味着糟糕的用户体验。

我只是想知道其他人也可能在他们的网站上实现了Facebook连接或开放ID;他们如何处理用户的合并;特别是如果你有一个你自己的SSO已经出现在现场。

干杯

+0

答案有助于解决您的问题,还是仍然存在未解决的问题? – jayshao 2010-07-23 09:36:48

+0

你有没有进一步与此?我期待着做同样的事情,所以任何反馈将不胜感激。 – Jim 2012-01-07 21:51:43

回答

1

如果您使用CAS你可能想实现一个自定义CredentialsToPrincipalResolver这需要的OpenID/Facebook的连接,查看电子邮件属性,并试图解决现有帐户如果存在的话 - 这样你使用外部单点登录系统作为凭证,就像任何其他令牌一样(例如x509之类的)