请帮我解决这个问题:我正在尝试在 openam 中设置一个 idp 和一个 sp 的联盟。正在使用的数据存储是 ApacheDS。我正在尝试按照以下教程进行相同的操作。
http://fczaja.blogspot.com/2012/06/idp-initiated-sso-and-identity.html
在测试联合连接(来自控制台)期间,我在 openam 日志中收到以下错误* *
libSAML2:10/30/2012 06:48:41:399 PM IST: Thread[http-8080-1,5,main]
AccountUtils.setAccountFederation: set fedinfo {sun-fm-saml2-nameid-info=[http://www.idp.com:8080/openam_10.0.0|http://www.sp.com:8090/openam_10.0.0|WC++1dcclPD//rTlgpYLD0EEISg2|http://www.idp.com:8080/openam_10.0.0|urn:oasis:names:tc:SAML:2.0:nameid-format:persistent|null|http://www.sp.com:8090/openam_10.0.0|IDPRole|false], sun-fm-saml2-nameid-infokey=[http://www.idp.com:8080/openam_10.0.0|http://www.sp.com:8090/openam_10.0.0|WC++1dcclPD//rTlgpYLD0EEISg2]} userID = id=appu,ou=user,dc=opensso,dc=java,dc=net
libPlugins:10/30/2012 06:48:41:543 PM IST: Thread[http-8080-1,5,main]
ERROR: IdRepoDataStoreProvider.setAttribute(): IdRepo exception
Message:Plug-in com.sun.identity.idm.plugins.ldapv3.LDAPv3Repo encountered an ldap exception. LDAP Error 16: The specified attribute could not be found.
at com.sun.identity.idm.plugins.ldapv3.LDAPv3Repo.handleLDAPException(LDAPv3Repo.java:6117)
at com.sun.identity.idm.plugins.ldapv3.LDAPv3Repo.setAttributes(LDAPv3Repo.java:4141)
at com.sun.identity.idm.plugins.ldapv3.LDAPv3Repo.setAttributes(LDAPv3Repo.java:3921)
at com.sun.identity.idm.server.IdServicesImpl.setAttributes(IdServicesImpl.java:1701)
这可能意味着 openam 试图使用一些不存在的 LDAP 属性(因为我在 ApacheDS 中创建了最小属性集)。所以我去了 IDP 和 SP 中的数据存储设置,并从 LDAP 用户属性中删除了不可用的属性。现在它给出以下错误:
WARNING: IdServicesImpl.setAttributes: Unable to modify identity in the following repository com.sun.identity.idm.plugins.ldapv3.LDAPv3Repo :: Illegal arguments: One or more required arguments is null or empty
amIdm:10/31/2012 10:20:26:362 AM IST: Thread[http-8080-1,5,main]
IdServicesImpl.setAttributes: Unable to set attributes in the following repository com.sun.identity.idm.plugins.internal.SpecialRepo :: Plug-in com.sun.identity.idm.plugins.internal.SpecialRepo does not support operation edit for type {2}
amIdm:10/31/2012 10:20:26:362 AM IST: Thread[http-8080-1,5,main]
WARNING: IdServicesImpl.setAttributes: Unable to set attributes for identity user::appu in any configured data store
Message:Illegal arguments: One or more required arguments is null or empty
at com.sun.identity.idm.plugins.ldapv3.LDAPv3Repo.setAttributes(LDAPv3Repo.java:4039)
at com.sun.identity.idm.plugins.ldapv3.LDAPv3Repo.setAttributes(LDAPv3Repo.java:3921)
一些论坛说需要 sun-fm-saml2-nameid-info 和 sun-fm-saml2-nameid-infokey 等属性。但我无法将它们添加到我的数据存储中,因为它们与架构不匹配。此外,我无法将 openam 安装中给出的 LDIF 导入 Apache DS。我有两个问题: 1. 我正朝着正确的方向前进(向 Apache ds 数据存储添加属性会有所帮助)?如果是,我如何在 Apache ds 中推送与 openam 相关的 schmea 项目?2.我在这里完全缺少什么。