问题标签 [openam]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2645 浏览

java - openam 客户端 sdk 会话 ID 无效

我将 openam 与 tomcat 7 一起使用,以下行总是产生异常 SSOTokenManager manager = SSOTokenManager.getInstance(); SSOToken ssoToken = manager.createSSOToken(request);

无效的会话 ID

我认为某些配置或某些东西可能有问题

有什么帮助吗???

amSSOProvider:09/18/2012 01:18:01:882 PM EEST:线程 [http-bio-9090-exec-151,5,main] 无法从 HttpRequest com.iplanet.dpro.session.SessionException 创建 SSOToken:无效会话 ID。在 com.iplanet.dpro.session.Session.getSession(Session.java:1062) 在 com.iplanet.sso.providers.dpro.SSOProviderImpl.createSSOToken(SSOProviderImpl.java:92) 在 com.iplanet.sso.SSOTokenManager.createSSOToken (SSOTokenManager.java:241) 在 main.TestServlet2.doGet(TestServlet2.java:48) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:621) 在 javax.servlet.http.HttpServlet.service(HttpServlet. java:723) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core .

com.iplanet.sso.SSOException:会话 ID 无效。在 com.iplanet.sso.providers.dpro.SSOProviderImpl.createSSOToken(SSOProviderImpl.java:111) 在 com.iplanet.sso.SSOTokenManager.createSSOToken(SSOTokenManager.java:241) 在 main.TestServlet2.doGet(TestServlet2.java:48 ) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:621) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:723) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain. java:304) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) at org.apache.catalina.core .StandardContextValve.invoke(StandardContextValve.java:170) 在 org.apache.catalina.authenticator.AuthenticatorBase。concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:909) at java.lang.Thread.run(Thread.java:619) 原因:com.iplanet.dpro.session.SessionException:会话 ID 无效。在 com.iplanet.dpro.session.Session.getSession(Session.java:1062) 在 com.iplanet.sso.providers.dpro.SSOProviderImpl.createSSOToken(SSOProviderImpl.java:92)

0 投票
1 回答
15255 浏览

java - com.iplanet.services.comm.client.SendRequestException:sun.security.validator.ValidatorException:PKIX 路径构建失败:

我做了以下步骤,但它抛出异常:

1.我在windows server 2003上安装了openam 10.0.0。

2.在同一台windows服务器机器上配置tomcat和ssl。

3.配置正确,openam url可以通过https访问。

4.在另一台机器上安装了openam客户端sdk,它是ubuntu机器,我试图从那个ubuntu机器登录到openam服务器

但我得到以下异常:

我不明白可能是什么问题。是因为我的 java 密钥库(ssl 配置需要)在 windows 服务器机器上,而我在 ubuntu 机器上没有密钥库,

或者

需要将密钥库导入 ubuntu 机器。?? 请任何人都可以帮助我摆脱这种情况。

0 投票
0 回答
566 浏览

openssl - com.sun.identity.authentication.spi.AuthLoginException(1):处理 XML 请求时发生错误

我正在使用以下代码登录到 openam 服务器:

但在 lc.login(indexType, "DataStore") 得到这个异常:

我的应用程序中有 amconfig.properties 文件,也在系统变量中。但不明白那里缺少什么。

0 投票
1 回答
2307 浏览

liferay - Liferay 无法通过用户名获取用户

我正在为 liferay 编写一个自动登录钩子,它试图通过屏幕名称获取用户。我正在使用以下代码来获取用户,这主要是OpenSSOAutoLogin的变体:

User user = UserLocalServiceUtil.getUserByScreenName(companyId, screenName);

这在大多数情况下都有效,除非在 liferay 中记录的屏幕名称是大写的。例如,如果存储的 liferay 的屏幕名称是“TEST”,我将无法获取用户。堆栈跟踪显示以下内容:

跟踪清楚地表明“不存在具有键 screenName=test 的用户”。这里的“测试”是用小写字母写的,但是 getUserByScreenName() 方法是用大写的屏幕名称调用的。

经过一番研究,我发现在liferay UserLocalServiceImpl中执行了小写转换。我想这是导致搜索失败的原因,但我不太确定。

任何人都可以确认吗?liferay 的屏幕名称是否应该始终为小写?

谢谢你的建议。

0 投票
1 回答
3278 浏览

adfs2.0 - 在服务提供者或身份提供者上导入 sp.xml 文件

我正在做 adfs+openam 联合,其中 openam 服务器是我的服务提供者,而 adfs 服务器是身份提供者。我在 openam 服务器上创建了 sp.xml 和 sp-extend.xml 文件。以及 adfs 服务器上的 idp.xml 和 idp-extend.xml。

但是无论是在 Openam 还是 adfs 服务器上,该 sp.xml 应该在哪里导入。idp.xml 也一样。我对此感到困惑。我正在参考以下站点进行配置:

https://wikis.forgerock.org/confluence/display/openam/OpenAM+and+ADFS2+configuration

0 投票
1 回答
2068 浏览

tomcat - 用于授权的 OpenAM Tomcat J2EE 代理配置

我想使用 OpenAM 将授权配置到在 Tomcat 6 中上演的测试 webapp 中。最终目标/用例类似于:

  • 用户 bob 属于组员工
  • 用户 john 属于组管理员

  • 只有员工和经理可以访问employee.jsp 页面

  • 只有管​​理员可以访问 manager.jsp 页面

我找到了大量关于身份验证的文档,并在我的环境中正确配置了这些文档。在登录之前,我可以访问“公共”页面(不是我配置的强制 uri),但是一旦我尝试访问像“employee.jsp”这样的受保护页面,我就会被重定向到 OpenAM 的登录模块并且必须进行身份验证. 我可以作为属于 group 员工的 bob 进行身份验证(支持用户存储是一个活动目录),但是在重定向之后我仍然被拒绝访问。如何为此配置访问权限?为保护此资源而部署的策略代理是 j2ee_agent。Web 代理似乎更相关,但我收集到 j2ee 代理是为 Tomcat 部署的。有什么想法吗?

谢谢。

环境:

  • webapp 部署在 tomcat 6 中,暂存于 Windows 2008 服务器上,带有 AD
  • j2ee 策略代理部署在同一 tomcat 6 实例中,配置集中在服务器中
  • openam 服务器在 jboss 7 中部署的一个单独的 linux 机器上,使用 Windows 2008 Server AD 作为用户存储。
0 投票
4 回答
182688 浏览

single-sign-on - SP 发起的 SSO 和 IDP 发起的 SSO 之间的区别

谁能向我解释SP 发起的 SSOIDP 发起的 SSO之间的主要区别是什么,包括哪个是结合 ADFS + OpenAM 联合实施单点登录的更好解决方案?

0 投票
1 回答
1873 浏览

saml - OpenAM 整体理解和 SAML

我正在使用 OpenAM 使用 SAML 实施 SSO 解决方案。我是这些技术的初学者,我需要一些说明。

我的进步

目前,我已经安装了一个托管 OpenAM 作为 IdP 的 Tomcat。另一个 Tomcat 适合作为我的 SP。WebAgent 已安装在其上。在尝试访问 SP 的受保护部分时,我被重定向到 IdP 日志记录页面。输入凭据后,我最终被重定向到资源。这似乎运作良好。

我的问题

  • 我的架构只是基于一个简单的 SSO,不是吗?

  • 如何激活 SAMLv2 ?

  • 是否必须在信任圈内的所有服务器上安装 OpenAM 才能允许 SAML?我的意思是,在 IdP 上看起来很自然,但是我需要在 SP 上放置和配置 opensso.war 吗?

  • 选择的场景是 IdP 发起的 SSO。如果客户端到达 IdP Authenticate WS,它会有 SAML 断言吗?

提前致谢

0 投票
2 回答
2111 浏览

authentication - 使 openam/opensso 返回角色名称而不是角色通用 id

我正在使用 OpenAM 9.5.2 对应用程序上的用户进行身份验证。身份验证运行良好,但我在从最终应用程序中获取用户成员身份时遇到问题。

我在 openam 中定义了组“somegroup”并将我的用户添加到该组中。现在在我的应用程序中,我想测试经过身份验证的用户是否是该组的成员。如果我正在测试它:

我得到false结果。实际上,我必须测试

为了得到true回应。

我知道可以在 sso 代理配置中定义一个特权属性映射列表来映射id=somegroup,ou=group,dc=opensso,dc=java,dc=netsomegroup但它不适合我的情况,因为角色和组存储在外部数据库中。在 sso agent conf 中定义数据库中的角色和映射并不方便。

所以我的问题是:有没有办法让 openam 使用“短”(即somegroup)组名而不是它的长通用 id?

0 投票
1 回答
1536 浏览

adfs2.0 - 使用 java 应用程序通过 openam 登录 adfs

我已将 adfs 配置为身份提供者,将 openam 配置为服务提供者,但是如何通过 adfs throght openam 测试登录是否正常工作。

任何人都可以帮助我使用 java 应用程序通过 openam 登录到 adfs 服务器。

谢谢,