WSO2 API 分布式(集群)实现中的管理器定制

WSO2 API Manager Customisations in a Distributed (Clustered) Implementation

我们在我们的独立(DEV 环境)实施中实施了少量 WSO2 API 管理器 (v1.10.0) 定制。

但是,既然我要在分布式 UAT 和 PRD 环境中实现它,我不确定这些 customisations/configurations 中的每一个究竟应该运行在哪些服务器上。

我们有以下分布式架构:

这遵循了 the online documentation 的设计:

标准分布式安装已全部配置并按预期工作。

我们已经实现的定制如下:

1。配置自定义登录页面

默认情况下,WSO2 使用自己的登录页面进行用户身份验证。下面的屏幕截图显示了一个例子:

这是通过更新“/repository/deployment/server/webapps/authenticationendpoint”文件夹的内容来完成的。


2。配置为跳过用户同意

默认情况下,系统会提示用户同意 Web 应用程序访问其 OpenID 个人资料信息:

这是通过将 <OpenIDConnect><SkipUserConsent> 值从 false 更改为 true 来完成的 打开 \repostiory\conf\identity\identity.xml 文件


3。配置用户帐户恢复和通知

完成者:

  1. 在 WSO2 管理界面中安装“帐户恢复和凭据管理”功能
  2. \repository\conf\carbon.xml 文件中将 IdentityMgtEventListener 设置为 true
  3. 更新 /repository\conf\identity\identity-mgt.properties 文件中的通知和用户帐户设置
  4. 取消注释 \repository\conf\axis2\axis2.xml 文件中的 <transportSender name="mailto"...>

(使用在线文档中的 Password Recovery 说明)


4。配置自定义用户存储管理器

不幸的是,WSO2 目前不支持通过它公开的用户存储管理 API 重命名现有用户存储中的用户。

为了让我们的应用程序能够做到这一点,我们实现了自定义 JDBC 用户管理器存储,在此处标识:http://tharindue.blogspot.co.uk/2015/05/a-workaround-for-renaming-username-of.html


5。创建声明

这里我们删除了默认的 Username 声明,并按照此处的说明添加了另外两个声明(重命名用户名和用户 ID):http://soasecurity.org/2012/05/02/claim-management-with-wso2-identity-server/


这是问题...

应该在哪些(分布式)服务器或组件上完成这些定制?

我的初步调查表明如下,但我想在开始更新配置之前确认一下:

1.配置自定义登录页面 - 网关服务器 密钥管理器服务器

2。配置为跳过用户同意 - 网关服务器 密钥管理器服务器

3。配置用户帐户恢复和通知 - 密钥管理器服务器

4.配置自定义用户存储管理器 - 密钥管理器服务器

5.创建声明 - 密钥管理器服务器

这些正确吗?还有什么我需要注意的吗?

非常感谢!乔恩

据我了解,您正在尝试使用 API Manager 作为身份提供者。尽管 API 管理器能够执行一些身份提供程序任务,因为它具有 Identity Server 的某些功能,但您不应该将其用作身份服务器。相反,你应该使用一个单独的身份服务器,并为它做所有的定制。

您还可以使用相同的身份服务器作为密钥管理器节点。可以找到 IS 作为密钥管理器文档 here. You simply have to install some API Manager features in Identity Server and do some configuration changes. Also there is a pre-packaged IS as Keymanager pack you can directly use. That's the recommended approach now. See docs here.