问题标签 [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 回答
932 浏览

adfs2.0 - 从 adfs 网络测试 openam 时出现异常

我们已对 openam 和 adfs 设置进行了所有必要的更改,并使用此链接:https ://wikis.forgerock.org/confluence/display/openam/OpenAM+and+ADFS2+configuration 作为我们的参考,但是当我们测试时我们从 adfs 网络设置我们得到以下异常:

类型异常报告

信息

描述 服务器遇到一个内部错误 () 阻止它完成这个请求。

例外

javax.servlet.ServletException:AMSetupFilter.doFilter com.sun.identity.setup.AMSetupFilter.doFilter(AMSetupFilter.java:117) 根本原因

org.apache.jasper.JasperException:在第 158 行处理 JSP 页面 /saml2/jsp/spAssertionConsumer.jsp 时发生异常

155:se.getMessage());156:返回;157:}158:respInfo = SPACSUtils.getResponse(159:请求,响应,组织名称,hostEntityId,metaManager);160: 161: 字符串 ecpRelayState = respInfo.getRelayState();

堆栈跟踪: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:524) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:417) org.apache.jasper.servlet.JspServlet.serviceJspFile( JspServlet.java:320) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) com.sun.identity.setup.AMSetupFilter。 doFilter(AMSetupFilter.java:91) 根本原因

javax.servlet.ServletException:com.sun.identity.saml2.common.SAML2Exception:java.security.PrivilegedActionException:com.sun.xml.messaging.saaj.SOAPExceptionImpl:消息发送失败org.apache.jasper.runtime.PageContextImpl.doHandlePageException (PageContextImpl.java:850) org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779) org.apache.jsp.saml2.jsp.spAssertionConsumer_jsp._jspService(spAssertionConsumer_jsp.java:360) org.apache.jasper .runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393) org.apache .jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) javax.servlet.http。HttpServlet.service(HttpServlet.java:803) com.sun.identity.setup.AMSetupFilter.doFilter(AMSetupFilter.java:91) 根本原因

com.sun.identity.saml2.common.SAML2Exception:java.security.PrivilegedActionException:com.sun.xml.messaging.saaj.SOAPExceptionImpl:消息发送失败 com.sun.identity.saml2.profile.SPACSUtils.getResponseFromArtifact(SPACSUtils.java :417) com.sun.identity.saml2.profile.SPACSUtils.getResponseFromGet(SPACSUtils.java:282) com.sun.identity.saml2.profile.SPACSUtils.getResponse(SPACSUtils.java:174) org.apache.jsp.saml2 .jsp.spAssertionConsumer_jsp._jspService(spAssertionConsumer_jsp.java:183) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) org.apache .jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320) org.apache.jasper.servlet.JspServlet。service(JspServlet.java:266) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) com.sun.identity.setup.AMSetupFilter.doFilter(AMSetupFilter.java:91) note 根的完整堆栈跟踪原因在 Apache Tomcat/6.0.14 日志中可用。

请任何人都可以帮助我解决此异常,并告诉我设置中的错误是什么以及解决此问题的可能解决方案。

提前致谢,

0 投票
1 回答
1389 浏览

web-services - 使用 OpenAM WSS 代理启用 Web 服务安全性

我正在努力使用 OpenAM 设置 Web 服务安全性。这是我到目前为止所做的:

  1. 我查阅了 openam 文档,但我找不到任何指向 Web 服务安全实施细节的重要内容。

  2. 但是,我在 OpenSSO oracle 网站上找到了此链接 (http://www.oracle.com/technetwork/java/wss-sdn-1-137232.html),该链接提供了保护 Web 服务的分步说明。

  3. 我还发现这篇文章(http://www.stormacq.com/web-services-security-with-opensso-security-token-service-sts/)基本上说在尝试实施时可能会遇到很多问题OpenAM 中的 WSS。

  4. 我按照 oracle 链接(上面的第 2 点)并尝试在 OpenAM 版本 10.0.0 中实现 WSS:

我的问题:

  • 但是我从 OpenAM 网站获得的 WSS Agent 是 glassfish 版本。如果服务器不是 glassfish,我不确定在我的服务和客户端中提取它并从中包含文件是否会导致任何问题。OpenAM 网站只有 glassfish 版本。

  • 另一个问题是 Oracle 教程可能是在 OpenSSO 8.0 时代编写的。不确定它是否适用于 Open AM 10。我已经可以看到目录结构的一些差异。

  • 如果有人能指出我在 OpenAM 中实现 WSS 的任何其他可用文档,那将会很有帮助。

  • 如果 OpenAM WSS 存在已知问题,是否建议使用 OpenAM 以外的其他 IDM 解决方案来实现 WSS 安全性。

在这里的任何帮助将不胜感激。提前致谢。

0 投票
1 回答
661 浏览

parameters - openam auth - 发送额外参数

我已经设置了 OpenAM (SingleSignOn) 并且可以成功登录。下一步(不知道这是否可能)是使用身份验证请求发送额外的参数。

即:http ://auth.mysite.com/openam/identity/authenticate?username=gareth&password=myFirstPassword&uri=realm%3Dboohoo&extraParam=whateverIWant

如您所见,我想发送一些与用户相关的自定义数据。

OpenAM 有可能吗?

干杯。

0 投票
2 回答
158 浏览

java - Java同步块内的意外状态

在我正在调查的一些开源代码中,我遇到了以下情况。它使用了一个同步块,它执行以下操作:

  1. 将私有布尔实例变量 hasListener 设置为 true
  2. 调用一个方法,该方法使用一个大的 try 块来执行一些 wait() 操作,该块将任何异常存储在实例变量中
  3. 将 hasListener 设置为 false
  4. 抛出以前存储的任何异常

在同一个类中还有另一个类似的方法,它做的事情完全相同。

从理论上讲,这应该确保 hasListener 只有在您输入时才为假。然而不知何故,一个异常被抛出底部(见注释标记//?),因为它进入方法并且 hasListener 为真。我检查了没有其他地方设置了hasListener,默认值为false。是否有任何可以想象的情况,在 waitFirstMessage() 的底部抛出异常会阻止变量被设置回 false?还有其他可能的情况吗?

从日志来看,似乎发生了一个合法的异常(“超过了完成操作的时间”),并且从那时起异常(//?)经常被抛出。

编辑

好的,事实证明我的问题是不正确的。当前在生产中运行的日志来自的版本比我正在查看的代码稍早,并且有人已经清楚地解决了这个问题。在以前的版本中,该方法waitForMessage()抛出异常。这些是中断的,然后永远不会被设置为假。宇宙再次变得有意义。waitFirstMessage(int msgId)hasListener

非常感谢您的回复。现在我需要将此修复程序投入生产!

0 投票
1 回答
464 浏览

adfs2.0 - 在 adfs 和 fedlet federation 中面临的问题

我也在尝试探索 fedlet + adfs federation。

我所拥有的是:

  1. 安装在机器 A 上的 adfs 服务器。我还添加了 fedlet 作为依赖部分,但是当我输入回复方联合元数据 url 并单击测试 url 时,它向我抛出了异常: 读取联合元数据时发生错误。验证 url 或主机名是有效的联合元数据端点。 但是我在依赖部分添加了fedlet的证书,并将算法设置为SHA-1。

  2. 在机器 B 上完成了 openam 设置。在同一台机器上的 openam 和 tomcat 中添加了 adfs 证书。

  3. 使用这个 openam 构建创建了一个 fedlet,并将 adfs 设置为我的托管身份提供程序,它安装在机器 A 上。这个生成的 fedlet 战争也部署在机器 B 上

怎么了:

  1. 当我从机器 A 的浏览器访问 fedlet 链接时,它必须在单击第 1 行时进行链接,它会调用 adfs 并要求提供 adfs 登录凭据。

  2. 一旦我输入凭据,它会将我重定向回 fedlet 应用程序,但是会引发以下异常:

Http 状态 500 - 响应中的无效状态代码。

如果有人可以帮助我解决此异常,我将不胜感激。

更新:

当我使用 firefox 的 saml tracer 插件解码发送到 fedlet 应用程序的响应时,我得到以下信息:

pVZpk6LKEv3%2BIt5%2F6Oj5SHSzimh0d0QBLqiobKJ8ecFSIsgmBbL8%2Bov2OK%2B7x5k39z6JcMlKT9bJU5WZL8iOo2yoQpSlCYIPkvj6%2BB%2BX4TjW8ZinPU3vn5g9yz05LMs8eSzDEIRjk9CDj%2F%2F%2B18OX1wbmKEiT10fqmbizLCFUQilBhZ0UnQ9BUk8k%2BUQROjEY9ohhr%2F9M0rR1548iREWQ2MUV%2B1AUGRrieP18ffA99CJYfP%2BwsywK3KvnHRzhwvASu8yTYWqjAA0TO4ZoWLhDDciLYbfvofvuNCwTlEE32AfQu8cluWVMT18fEeUyFAG5Pst6vR7L0LTrsjTLUHZv4PaJHuvZLNlzaOJe1uo4StDwKsPvd5blaZG6aXQH4%2B3d9HJNcf4O%2BXswGyGYX%2FP0dslol1Db26NnL43tIHl20%2Fj6G%2B%2BczoELEV7kJSpe8PcAt3AeGmqB3ylT5vA7Dw%2B9S9QBVlX1XNHPae7jFEEQODHAOx8PBf63x7f%2FcrihQE9K9unbZ3KXRcFO0qRTNQraq7IyLA6p9wAiP82D4hD%2FIiCJk8Ql4BOs3SeXZJJvjw%2F4HfgfDP4Q9xORHNlP6GCT96FVuIc5TFz4YKjS6%2BO3P7tYbz% 2FrewHTcztB%2BzSP0R2Hn5z%2BHg2YnGGUZtB7Qrds%2FMzon8X5ExmuqPj%2F4niJKwZ%2BVwz%2BiVL3VfqMu7GjEr55ZX9anpIN2bf6qoct96bqrszMOs92r9ddfnT%2BIjr%2BUfWPhxz%2F1Sn%2FdATfMXf2EqT0SJLI49QOGnqZm0WTJUpPTaaypiog27Pbs7tjTUFgGCsmZlFu2cfjckU006q%2FHkT7zelc78wGyQythpzobCYBNjuhY6GUROvaU2%2FPMP05e9R9ZtuPPMWWpVHsj%2Bt1eZhVcrPqp9i2EElWbQQqFARrMAl3PqUjESMYV9C1FOgL45zmlrW2R%2Bf%2BLmwXI08cGOo%2BwAesH6hj3%2B%2BdMNiGU7IsqNY%2FlHr37lq8OeZmNUkJ7KHAcDgZr0f2om8d0h5LMbXXXYOpv%2FHLw1JbgRmcmU5ixgfBXXBOnzvJRL4O%2Brs%2BNwbhVJm6XLOwkCILo%2FmZQ81JdzyIn4WDJ2VujCowckdBKWm2T58oAF5ff4jwIdcfhJjD5qLNrXr%2BvSp2k3LbIwaiXdi%2FOGeXZeFSePeXNgXfZEkS6C7BwLV9UEk88CXFoOK68sPVmBmDjCYtpwYKbMGS94%2BnwzGYDCqCBwoaAxHksnasZtVO3CiKOGp4Xh1ZujReZhbVy5zY9RcaT9sm09itX1pmr91tZ8UiXp4dHcBxRdRyOKpl0a3k1mDkkLevtvazTRZQPddBwvvLDQ9kXRqNR2ok%2BwYVJU4clVYDCmnqZU44y1dCL3KS5cGNiXJHDYqOHy%2BFX%2Fc%2BGgOwEoDCgcu64M%2B77yOQzeuUDHB9uuOqJZrI%2FcBuIW5PxxMu4bdYP%2FDS88KYZAZacO3By2miCEuVZ%2BtclRf0fn7Gp% 2BegpbE6JVZy6ykGia1U3m0AEBkL2yxoYiEYRInlSdV4Hr6ar4Kgql1sPGkt6kTvBxUTCyaIHCTRbdavV4W%2F25BrsivLTTEjJ0Wk4dZ0MyvXihVmmuLoaGVtNqmhRhHGnYxeaRqN6QasFFcZq54napYw51lTj8wskQsNKD0qYo9OuLD0CO1VFVfpdWSRM2LJl%2BRaBAvZ3x7yqXscTBJB5wbqZK7vnXPeugI3O%2BSM0RLmCizNnSjHa0WjS42khd7a7Z82JEpzODpHI9USKJfWdoGAjs7BLxRJBArgZUBMBO000SSHFpURL1QGAEx33hTe8nLYqpQYOw3XAjvsT%2FltVyfWerYJnUgtx2OJYXYn2VDPYh1L3FkaVGo4XxaZcqIaQwudrZqmLhpVOzecjgWBNGe5iRlJuDrYbojpwuGEHTlmBU%2FmhK4yaZq4Jh3QvfocZlufqAmy8Bel4YOVtFtSq3mCHTcoL3DnCBtSbR14sPgQQUmiNDs4JtDugT1OcnYc6GW1sAG5Ya2d56i67i3pNVaLE6ewgbeeDTQ585Vdj1tjyr60HCoiG4xpbWuCTeudU2NGoG6zoBFhn%2BoNEnrixfpxEk6aza4AKcoJlipdUQyTZJxYuTZL5%2Bqq6wuxztIZu41509d0k8a74hMP5Hqzma5PUcnbalkY11Lz9bLf6RV3ysUL%2Fr0Q3aasT1XrZnwf27WiM37slZ%2FsQurBh2uZ%2B%2F0siK7eXd86lV1fg%2FlPde3%2FAJWScze4ectuXRLXaTedN5%2B78Av%2BFf0H7y8cb4bb5N2ZLs9fJEpzODpHI9USKJfWdoGAjs7BLxRJBArgZUBMBO000SSHFpURL1QGAEx33hTe8nLYqpQYOw3XAjvsT%2FltVyfWerYJnUgtx2OJYXYn2VDPYh1L3FkaVGo4XxaZcqIaQwudrZqmLhpVOzecjgWBNGe5iRlJuDrYbojpwuGEHTlmBU%2FmhK4yaZq4Jh3QvfocZlufqAmy8Bel4YOVtFtSq3mCHTcoL3DnCBtSbR14sPgQQUmiNDs4JtDugT1OcnYc6GW1sAG5Ya2d56i67i3pNVaLE6ewgbeeDTQ585Vdj1tjyr60HCoiG4xpbWuCTeudU2NGoG6zoBFhn%2BoNEnrixfpxEk6aza4AKcoJlipdUQyTZJxYuTZL5%2Bqq6wuxztIZu41509d0k8a74hMP5Hqzma5PUcnbalkY11Lz9bLf6RV3ysUL%2Fr0Q3aasT1XrZnwf27WiM37slZ%2FsQurBh2uZ%2B%2F0siK7eXd86lV1fg%2FlPde3%2FAJWScze4ectuXRLXaTedN5%2B78Av%2BFf0H7y8cb4bb5N2ZLs9fJEpzODpHI9USKJfWdoGAjs7BLxRJBArgZUBMBO000SSHFpURL1QGAEx33hTe8nLYqpQYOw3XAjvsT%2FltVyfWerYJnUgtx2OJYXYn2VDPYh1L3FkaVGo4XxaZcqIaQwudrZqmLhpVOzecjgWBNGe5iRlJuDrYbojpwuGEHTlmBU%2FmhK4yaZq4Jh3QvfocZlufqAmy8Bel4YOVtFtSq3mCHTcoL3DnCBtSbR14sPgQQUmiNDs4JtDugT1OcnYc6GW1sAG5Ya2d56i67i3pNVaLE6ewgbeeDTQ585Vdj1tjyr60HCoiG4xpbWuCTeudU2NGoG6zoBFhn%2BoNEnrixfpxEk6aza4AKcoJlipdUQyTZJxYuTZL5%2Bqq6wuxztIZu41509d0k8a74hMP5Hqzma5PUcnbalkY11Lz9bLf6RV3ysUL%2Fr0Q3aasT1XrZnwf27WiM37slZ%2FsQurBh2uZ%2B%2F0siK7eXd86lV1fg%2FlPde3%2FAJWScze4ectuXRLXaTedN5%2B78Av%2BFf0H7y8cb4bb5N2ZLs9fyr60HCoiG4xpbWuCTeudU2NGoG6zoBFhn%2BoNEnrixfpxEk6aza4AKcoJlipdUQyTZJxYuTZL5%2Bqq6wuxztIZu41509d0k8a74hMP5Hqzma5PUcnbalkY11Lz9bLf6RV3ysUL%2Fr0Q3aasT1XrZnwf27WiM37slZ%2FsQurBh2uZ%2B%2F0siK7eXd86lV1fg%2FlPde3%2FAJWScze4ectuXRLXaTedN5%2B78Av%2BFf0H7y8cb4bb5N2ZLs9fyr60HCoiG4xpbWuCTeudU2NGoG6zoBFhn%2BoNEnrixfpxEk6aza4AKcoJlipdUQyTZJxYuTZL5%2Bqq6wuxztIZu41509d0k8a74hMP5Hqzma5PUcnbalkY11Lz9bLf6RV3ysUL%2Fr0Q3aasT1XrZnwf27WiM37slZ%2FsQurBh2uZ%2B%2F0siK7eXd86lV1fg%2FlPde3%2FAJWScze4ectuXRLXaTedN5%2B78Av%2BFf0H7y8cb4bb5N2ZLs9f

以上代码为编码形式,请解码。

因此,根据我的理解,异常是由于一些无效的 nameid 策略而出现的。我应该如何解决这个问题?

0 投票
1 回答
1644 浏览

single-sign-on - simplesamlphp 获取属性返回值不是预期的

我已经设置了 OpenAM 和 SimpleSAMLPhp。我可以通过 OpenAM“Test Fed”和 SimpleSAMLPhp 中的“Auth”页面进行身份验证,所以我相信它一切正常。

但是,当我对用户进行身份验证时,然后打印出来:

我得到以下信息:

正如我所期望的那样:

如果我调用 REST API http://auth.localhost.com:8080/openam/identity/attributes?subjectid= ... 它会按预期返回值。

我也包括了saml 响应。这是 OpenAM/SimpleSAMLPhp 设置问题吗?

0 投票
1 回答
411 浏览

logging - openam - 记录写入授权失败

我正在尝试写入日志。根据以下内容:

然后我做:

但我得到一个例外:

知道如何找出需要对哪些用户进行身份验证才能登录以及如何对他们进行身份验证吗?因为我认为这就是我需要做的来解决上述问题。

干杯。

0 投票
1 回答
761 浏览

salesforce - SSO 设置页面中出现无法识别的 X.509 证书格式错误

我尝试在 salesforce 中使用 OpenAM 配置 SSO。我已完成以下步骤。

  • 配置信任圈
  • 配置身份提供者
  • 将 Salesforce 配置为服务提供商
  • 并在 OpenAM 中下载身份提供商证书我在保存设置页面时在 Salesforce SSO 设置页面中收到以下错误

SSO 设置页面中出现无法识别的 X.509 证书格式错误

请帮助我在 salesforce 中使用 OpenAM 成功配置 SSO。

提前致谢...

0 投票
1 回答
237 浏览

adfs2.0 - 如何在 SAML 响应中发送更多属性以及电子邮件 ID

我正在使用使用 openam 创建的 fedlet 登录 ADFS。在 fedlet 中,我从 ADFS 获得 saml 响应,其中我只获得电子邮件地址,但我想要其他属性,如角色、用户名、用户状态、密码。我如何在我的 fedlet 应用程序中获取这些属性。

谢谢。

0 投票
3 回答
3010 浏览

authentication - 在 openam/opensso 中使用持久性 cookie 时,SSO cookie 不起作用

我已经开始维护一些网站,这些网站都使用 openam SSO 进行了身份验证。但是,当我们的一位用户设置持久性 cookie (DProPCookie) 时,它并不总是有效。

重现场景是:

  1. 登录到 openam,设置持久 cookie
  2. 重启浏览器(清除会话 cookie)
  3. 转到站点 A,由于持久 cookie,用户自动登录
  4. 转到站点 B,用户会看到一个登录页面(他们应该自动登录)。

在第 3 步之后,如果我从浏览器中删除 iPlanetDirectoryPro cookie,我可以很好地登录到站点 B(使用持久性 cookie)。似乎在设置 DProPCookie 时从站点 A 生成的 iPlanetDirectoryPro cookie 在站点 B 上不起作用。

请注意,我尝试了站点 A 和 B 的各种排列,并且每种情况下的场景都是相同的。

我对 openam 很陌生,所以关于如何调试它的任何提示都会很棒,或者如果我遗漏了一些明显出错的东西,请告诉我。

提前致谢。

编辑:

我随后发现使用 DProPCookie 进行身份验证时返回的 iPlanetDirectoryPro cookie 不起作用。因此因此与跨域无关。

  1. 登录到 openam,设置持久 cookie
  2. 重启浏览器(清除会话 cookie)
  3. 转到站点 A,由于持久 cookie,用户自动登录
  4. 删除除 iPlanetDirectoryPro cookie 之外的所有 cookie
  5. 刷新页面 - 要求登录

如果我重复测试但使用正常登录生成的 iPlanetDirectoryPro cookie,那么当我刷新页面时,我会自动获得身份验证。(我已更改问题的标题以反映这一点)。

进一步编辑:

打开调试 - 我在日志中看到这个异常:

快速浏览 openam 代码 - 我们似乎没有在 AMAccountLockout.java:264 中获得用户名: