1

我想实现一个 SSO 框架。因此,我的要求是:

一旦用户登录到特定网站并单击外部链接,就不应要求他再次验证其凭据。

编辑:在这里,我可以控制我所说的“外部链接”。该人登录的第一个链接可以为我提供我需要的凭据或其他信息,但我无法控制它。

我研究了一下,发现 CAS 与我的要求相关。但是,我不希望最终用户最初登录到 CAS,我需要一个框架来从当前登录的网站接收凭据并使用它登录到其他外部站点。当然,安全性是一个重要因素。你能给我一些关于如何设计这样一个框架的建议/想法吗?

4

3 回答 3

1

OpenAM应该可以帮助您:

OpenAM 提供开源身份验证、授权、授权和联合软件。通过 OpenAM,社区积极地继续开发 OpenSSO。

OpenAM 提供核心身份服务来简化透明单点登录 (SSO) 作为网络基础设施中的安全组件的实施。OpenAM 为集成各种 Web 应用程序提供了基础,这些应用程序通常可能针对一组不同的身份存储库进行操作,并且托管在各种平台上,例如 Web 和应用程序服务器。

于 2013-07-12T16:54:38.583 回答
1

在维基百科页面单点登录实现列表上,您可以找到SSO实现列表,其中有一列指示许可证。

从这里阅读有关 jboss sso 的信息。

于 2013-07-12T16:57:39.767 回答
1

根据您所描述的,听起来身份提供者 (IdP) 发起的 SAML 配置文件将满足您的要求(这里有一个很好的可视化表示)。您的用户登录的原始网站将充当身份提供者。一旦用户通过该应用程序的身份验证,他们将能够通过单击链接访问您的外部应用程序。原始应用程序不会被定向到您的应用程序的登录页面,而是将通过 SAML 将用户的授权详细信息转发给您,您将在其中验证签名并可能与身份提供者进行检查。如果一切顺利,用户将被重定向到您的应用程序中请求的资源,而无需登录。

注意,上面描述了 SSO 的协议。您可以使用许多支持 SAML 的不同框架。您可以研究的两个是Shibboleth和如前所述的OpenAM

这是基于有限细节的相当简化的解释,但希望它能帮助您找到解决方案。我建议在做出决定之前对可用的协议和框架进行大量研究。此外,概念证明永远不会伤害到证明该解决方案对您有用,然后再投资到没有回报的地步。

祝你好运。

于 2013-07-12T18:39:10.297 回答