使用 API 管理器将 WSO2 身份服务器配置为密钥管理器

Configuring WSO2 Identity Server as Key Manager with API Manager

我正在寻找有关两个特定 WSO2 产品的一些指导,API Manager 和 Identity Server 以及解决问题的最佳解决方案,我将在下面解释。

在我的公司,我们使用 ADFS 3.0 在我们的应用程序中支持单点登录。但是,我们现在正在构建需要 OpenID Connect 规范(SPA 的 + Rest API 的)的应用程序,而 ADFS 不支持开箱即用,因此我们决定为此目的使用 WSO2 产品。

我已经成功安装了 WSO2 Identity Server 5.0.0 SP1 并将 ADFS 配置为联合身份提供者(新应用程序仍然必须使用 ADFS 对用户进行身份验证)。我还安装了 WSO2 API Manager 1.9.1 并将其配置为使用 WSO2 Identity Server 作为密钥管理器 (Configuration tutorial)。

现在的问题:

使用 WSO2 Identity Server 5.0.0 SP1 由于报告的问题 here,我无法使用注销功能。这个问题似乎在 5.1.0M4 版本中已经解决,所以我尝试安装 5.1.0-alpha 版本并设法使注销与 ADFS 一起工作(我通过为碳管理启用 SSO 来测试它)。但是,由于不兼容,现在我无法通过 carbon 存储库安装密钥管理器功能。

因此,对于第一个组合 (wso2is 5.0.0 SP1/wso2am 1.9.1),我在 ADFS 和第二个组合 (wso2is 5.1.0-alpha/wso2am 中遇到了注销问题1.9.1),我无法在 Identity Server 中安装密钥管理器功能。

有没有办法打补丁解决第一种组合的登出问题?有没有办法在 WSO2IS 5.1.0-alpha 上安装密钥管理器功能?或者有人可以指出我的另一个解决方案来解决这个问题吗?

您在上面指出的 issue,标记为 "Patch"。通常这意味着 WSO2 已经为早期版本修复了这个问题并向其客户提供了补丁。最简单的事情是,如果您已经是 WSO2 的客户,请直接从他们的支持部门索取补丁。

如果您不是 WSO2 的付费用户,您就有点麻烦了。根据 this 问题,Service Pack 的来源在 public.

中也不可用

但幸运的是,在您的情况下,需要进行此修复的组件不是核心组件。因此,如果您更改验证器代码位,您就不会遇到麻烦。但警告是,它会丢失服务包中为 org.wso2.carbon.identity.application.authenticator.samlsso_4.2.1.jar 所做的任何修复。


无论如何,这些是您应该遵循的步骤。

  1. 检查来源。惰性路径是从 here. That is the most easy way which you will face less troubles when you try to build the source but the downside of that is, it would take bit of time to checkout. If you know how to build specific component from WSO2 source, you can directly checkout component 中检查整个源,它需要更改。
  2. 尝试在不做任何更改的情况下构建组件,以确保到目前为止没有任何问题。
  3. 转到 class DefaultSAML2SSOManager and do the same change done in the PR
  4. 再次构建组件。
  5. <IS_HOME>/repository/components/patches/ 文件夹中创建名为 "patch9000" 的文件夹。
  6. 将步骤 4 中的构建 jar (org.wso2.carbon.identity.application.authenticator.samlsso-4.2.1.jar) 从 target 文件夹复制到 <IS_HOME>/repository/components/patches/patch9000 文件夹。
  7. 重启服务器。如果你已经完成了所有的事情,在服务器启动时它会打印一个日志,比如 org.wso2.carbon.server.extensions.PatchInstaller - Patch changes detected

现在重试您的流程,它会按预期工作。

如果您懒得做上述所有事情,您可以等到 Identity Server Service Pack 2,它会修复您的问题。