2012-10-29 60 views
0

我有一个需求,我需要使用openAM跨域SSO。 SP服务器具有与IDP不同的Cookie。我需要访问IDP cookie以检索IDP数据存储区用户详细信息。 SP使用匿名用户。使用openAM跨域SSO

回答

1

IdP和SP是使用像SAML标准中定义的那些联邦协议的基于标准的SSO的术语。 SAML不依赖Cookie作为SSO跟踪机制。 (IdP发现除外)。

OpenAM专有的SSO机制依赖于cookie。

如果您的意思是'SP'是由OpenAM代理(网址或政策代理)保护的网络应用程序,那么您必须将代理配置为以所谓的CDSSO模式运行。

Unfortunatley它不是很清楚你想达到什么。

首先,您可能会从OpenSSO(http://docs.oracle.com/cd/E19681-01/820-3740/index.html)查看技术概述,因为OpenAM尚未具有此类文档。

+0

我正在寻找一种方法来使用http:// /openam/cdcservlet。该文档没有说明查询参数对于servlet的要求是什么。我可以直接从我的web应用程序调用servlet并获取cookie? –

+0

CDCServlet是实现CDSSO的专有方式,但基本上是一个策略代理(如果配置正确)可以自动生成这些参数并处理LARES响应(将其发送到代理端点 - >该响应实际上包含sessionid,因此代理基于此创建cookie)。 –

+0

最后使用OpenAM设置CDSSO。以下内容对于类似的问题很有用。 http://soumyajitswain.blogspot.in/2012/12/cross-domain-sso-with-openam.html –

0

我设法使用openAM的其余API来实现跨域SSO。 openAM认证调用在成功登录时返回tokenId。这是我在所有域之间存储和共享的,并且工作正常。

+0

你是如何设法在域之间共享'tokenID'的? – nebula

+0

我使用了openam cdsso url和tomcat j2ee代理。我列出了我的博客中的步骤。 http://soumyajitswain.blogspot.in/2012/12/cross-domain-sso-with-openam.html –