集成WSO2 API管理器、Identity Server和Shibboleth的建议
当前推荐的设置WSO2 API管理器以针对Shibboleth IDP使用SSO的方法是什么 我们的组织有一个围绕Shibboleth的IDP构建的现有SSO基础设施,我们希望将其集成到API Manager安装中。理想用例:集成WSO2 API管理器、Identity Server和Shibboleth的建议,wso2,wso2is,wso2-am,Wso2,Wso2is,Wso2 Am,当前推荐的设置WSO2 API管理器以针对Shibboleth IDP使用SSO的方法是什么 我们的组织有一个围绕Shibboleth的IDP构建的现有SSO基础设施,我们希望将其集成到API Manager安装中。理想用例: 用户导航到API管理器存储 用户被重定向到Shibboleth IDP登录页面 如果不存在API管理器帐户,则会创建一个API管理器帐户并将其分配给订阅服务器角色 用户返回API管理器并登录。“登录身份:”表示合理的用户名(即不是GUID) 我知道API管理器中包含一
- 用户导航到API管理器存储
- 用户被重定向到Shibboleth IDP登录页面
- 如果不存在API管理器帐户,则会创建一个API管理器帐户并将其分配给订阅服务器角色
- 用户返回API管理器并登录。“登录身份:”表示合理的用户名(即不是GUID)
WSO2 API管理器v1.6.0
WSO2 Identity Server v5.0.0以下是我的研究结果,供感兴趣的人参考: 1) 这是一个适当的战略。Identity Server 5.0版本中的新功能主要围绕此场景。AM的1.7版本还包括一些功能,以方便此设置。最后,我从开发人员那里听说,他们打算在接下来的几个版本中进一步推动这种集成 2) 从AM 1.6开始,出现了一个bug,几乎需要共享同一个主要JDBC用户存储。从1.7开始,它应该更加开放。
WSO2的人似乎不喜欢LDAP和JDBC(除了默认的H2 DB不是为生产环境设计的),但是如果您选择安装DB还是为此而打开LDAP,LDAP服务器似乎更适合您的选择 3) 当目标是向用户展示UN/PW屏幕时,最好使用SAML在两者之间进行通信。当目标是使用预先发布的令牌登录时,则使用OAuth。API管理器和应用程序在幕后使用这两种协议,但这个特定问题的答案似乎是SAML。
未来,WSO2计划扩展其产品的“受信任的IDP”功能,这将简化此过程(并在幕后使用SAML)。由于有人刚刚将此标记为有用,请允许我提供一个更新。我们已经推进了API管理器->身份服务器->Shibboleth的战略。这一策略行之有效。API管理器通过SAML与IS对话,并从共享LDAP读取用户数据。IS收集返回的(加密的)断言,并在翻译后创建一个供API使用的用户。在2014年旧金山WSO2大会上,我还与Prabath Siriwardena(WSO2安全总监)进行了交谈,并参加了他的一些会谈。他们希望将这一想法进一步推广,现在正在推广IS作为一种“身份服务总线”,能够在身份消费者和提供者之间进行转换。我们正在调查其他不懂shibboleth但会说话的产品,例如,oauth使用IS作为翻译。我们已经使用此设置一段时间了。流程是:1)用户转到APIM 2)用户重定向到is 3)用户重定向到shibbolet IDP 4)用户登录并向is提供saml断言5)is创建一个包含SSO详细信息的帐户作为声明,然后向APIM发送一个新的saml断言6)APIM将用户记录到新创建(或更新)的is/APIM帐户中。使用这种方法,我们实现了整个SSO集成,用户的详细信息甚至包含在JWT中。