我跟着the installation guide访问了一个Apache Web Policy Agent,但它总是导致Web和应用服务器之间无休止的重定向循环。 Firefox说“页面没有正确重定向”,Chrome认为“此网页有重定向循环”。设置是端口80上的Apache 2,带有一个小型演示应用程序和一个Web策略代理,以及一个带有OpenAM服务器的端口8080上的Tomcat 7服务器(来自Sun的前OpenSSO):
Live HTTP Header Firefox插件显示策略代理和OpenAM服务器(即Apache和Tomcat服务器)重定向到彼此,尽管服务器正确设置了SSO令牌Cookie。 SSO令牌Cookie的名称具有默认值“iPlanetDirectoryPro”。知道如何解决问题吗?
答案 0 :(得分:8)
经过一整周,我终于在Stackoverflow和OpenAM Mailing list的帮助下弄明白了。有两个主要问题:缺少日志文件和缺少cookie域。安装OpenAM服务器和Web Policy Agent很困难,有很多日志文件和许多不同的配置选项。如果选择了错误的选项,则无效。如果不知道发生了什么,就不可能使它工作,这只能通过合适的日志文件来确定。
缺少Web Policy Agent日志:必须在“Java properties”文件中设置日志级别。 Web Policy Agent有两个“Java Properties”文件,OpenSSOAgentBootstrap.properties
和OpenSSOAgentConfiguration.properties
。名为com.sun.identity.agents.config.debug.level
的日志和调试级别可以并且必须在两个(!)文件中定义,并且应该设置为高级别all:4
或all:5
。格式很重要。即使您这样做,AgentConfiguration.properties
文件仅在代理不在集中配置模式下工作时使用。配置文件必须设置为“本地”。
缺少Cookie域:不要忘记在开始时设置OpenAM服务器时输入正确的Cookie域,如果缺少则在之后添加。在OpenAM服务器上,转到Configuration > System > Platform
并将Cookie域值更改为您的域(对于instace .example.com
)(如果缺少)。否则,浏览器将在重定向过程中丢失您的cookie。不知怎的,我在OpenAM服务器上有一个cookie域的空条目,我想忘了一个点(example.com
而不是.example.com
),所以它是无效的(或类似的东西)。
此troubleshooting site有助于找到问题。
答案 1 :(得分:1)
@ 0x4a6f4672,您的帖子绝对有帮助。还有一些要添加到你的答案中。以下更改是我必须在配置中使其运行,至少让它在露天运行它。
com.sun.identity.agents.config.user.mapping.mode=USER_ID(Dont use HTTP_HEADER)
com.sun.identity.agents.config.user.attribute.name=uid
com.sun.identity.agents.config.user.principal=true(Dont use false)
com.sun.identity.agents.config.user.token=SsoUserHeader(Keep it as per what is specified in you application- in my case alfresco)
现在您没有以集中模式运行代理,但在本地模式下,为配置文件属性指定的设置只能通过属性文件设置,因此请添加以下内容。
com.sun.identity.agents.config.profile.attribute.fetch.mode=HTTP_HEADER
com.sun.identity.agents.config.profile.attribute.mapping[uid]=SsoUserHeader(whatever you want the header to come in browser as)
正如0x4a6f4672所述,它很难调试,除非您处于本地模式,因此请立即切换到本地模式并开始跟踪日志并相应地更改属性。