建议WSO2 API管理器针对Shibboleth IDP使用SSO的当前推荐方法是什么?
我们的组织有一个围绕Shibboleth IDP构建的现有SSO基础架构,我们希望将其集成到我们的API Manager安装中。理想用例:
我知道API Manager中有一个包含的SAML2身份验证器组件,但它的功能有限,特别是它不处理加密断言,使用用户名/显示名称的特定属性和自动用户创建。
我知道我们可以编写自定义身份验证器,但我们宁愿避免创建另一个需要维护的代码库,也没有社区支持。如果无法确定更简单的解决方案,那么这可能就是我们所做的。
我目前正在调查的是将API Manager的所有用户管理委派给WSO2 Identity Server。在返回AM之前,它会将身份验证委派给Shibboleth和自动配置用户。 IS似乎可以解决上面提到的所有问题。
Shibboleth IDP v2.4 - 首选具有属性推送功能的SAML2
WSO2 API Manager v1.6.0
WSO2 Identity Server v5.0.0
答案 0 :(得分:5)
以下是我的研究结果,对于任何有兴趣的人:
1)这是一个合适的策略。 Identity Server 5.0版本中的新功能主要围绕此场景。 AM的1.7版本还包括用于设置此设置的功能。最后,我从开发人员那里听说他们打算在接下来的几个版本中进一步推动这种集成。
2)从AM 1.6开始,出现了一个错误,它几乎需要共享同一个主JDBC用户存储。从1.7开始它应该更加开放 似乎没有来自WSO2的人员在LDAP和JDBC之间的偏好(除了默认的H2 DB不是为生产环境设计的),但是如果您在为此安装数据库或Open LDAP之间进行选择,那么LDAP服务器似乎更适合选择。
3)当目标是向用户显示UN / PW屏幕时,最好使用SAML进行两者之间的通信。当目标是使用预先发布的令牌登录然后OAuth。 API Manager和IS在幕后使用这两种协议,但这个特定问题的答案似乎是SAML。 未来WSO2计划扩展其产品的“可信IDP”功能,这将简化此过程(并在幕后使用SAML)。