3

我有一个应用程序,它有一个通过它的姐妹站点实现的内部 SSO;使用 CAS 实现。它工作正常,并允许用户在站点之间进行无缝转换。(尽管在第一次访问每个站点时;用户必须向每个站点提供一些基本详细信息)。

现在我们想继续并实现 facebook 连接或就此而言 RPX Open Id。问题是,当前系统假定用户的电子邮件 ID 是唯一的。所以以下是一些问题:

  1. 如果我们允许 facebook 连接,那么电子邮件 ID 将不再是唯一的。要消除这种约束,成本太高了。
  2. 如果我们确实允许用户使用 facebook connect 登录,为他保留不同的用户个人资料;当他偏离姊妹站点时会出现问题?我们如何在不合并的情况下跟踪用户配置文件。或者即使我们合并,如果不从他那里获取特定于应用程序的凭据,我们也无法对他进行身份验证。
  3. 假设他也登录到应用程序 SSO 和 facebook 连接;如果我们总是优先考虑 SSO;它本质上意味着必须对登录用户隐藏 facebook 连接流;这将意味着糟糕的用户体验。

我只是想知道也许其他人也在他们的网站上实现了 facebook connect 或 open id;他们如何处理用户合并;特别是如果您已经在现场拥有自己的 SSO。

干杯

4

1 回答 1

1

如果您使用的是 CAS,您可能希望实现一个自定义CredentialsToPrincipalResolver,它接受 openid/facebook 连接,查看电子邮件属性,并尝试解析到现有帐户(如果存在) - 这样您就可以使用外部 SSO 系统作为凭证,就像任何其他令牌(比如 x509 等)

于 2010-07-16T05:23:30.027 回答