繁体   English   中英

有关集成WSO2 API管理器,Identity Server和Shibboleth的建议

[英]Recommendation for integrating WSO2 API Manager, Identity Server and Shibboleth

设置WSO2 API管理器以对Shibboleth IDP使用SSO的当前推荐方法是什么?

我们的组织具有围绕Shibboleth的IDP构建的现有SSO基础结构,我们希望将其集成到我们的API Manager安装中。 理想用例:

  • 用户导航到API Manager商店。
  • 用户被重定向到Shibboleth IDP登录页面。
  • 如果不存在,则会创建一个API Manager帐户并分配订阅者角色。
  • 用户将返回到API Manager并登录。“按以下身份登录:”呈现合理的用户名(即非GUID)。

我知道API管理器包含一个SAML2身份验证器组件,但是它在功能上受到限制,特别是它不处理加密的断言,为用户名/显示名称使用特定属性以及自动创建用户。

我知道我们可以编写一个自定义的身份验证器,但是我们宁愿避免创建另一个需要维护且没有社区支持的代码库。 如果无法确定更简单的解决方案,那么我们很可能会这样做。

我目前正在研究的是将API Manager的所有用户管理委托给WSO2 Identity Server。 它会在返回到AM之前将身份验证委派给Shibboleth并自动设置用户。 IS似乎可以解决上述所有问题。

  1. 首先,这是否合适? 如果是,建议如何配置AM和IS?
  2. IS和AM都应该指向同一个JDBC数据库还是AM指向IS的LDAP服务器?
  3. 关于指向IS的AM身份验证器,我应该使用SAML还是OAuth,还是有更好/更简单的身份验证器?

Shibboleth IDP v2.4 –具有属性推送功能的SAML2是首选。
WSO2 API管理器v1.6.0
WSO2身份服务器v5.0.0

这是我的研究结果,适合任何有兴趣的人:

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管理器和IS在幕后都使用这两种协议,但是这个特定问题的答案似乎是SAML。 将来,WSO2计划扩展其产品的“受信任的IDP”功能,这将简化此过程(并在后台使用SAML)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM