我们在独立(DEV环境)实现中实现了少量WSO2 API Manager(v1.10.0)自定义 .
但是,现在我要在分布式UAT和PRD环境中实现这一点,我不确定这些自定义/配置应该在哪些服务器上进行 .
我们有以下分布式架构:
-
网关(x2)
-
Publisher&Store(在单个服务器上)
-
密钥管理器(x2)
这遵循the online documentation的设计:
标准分布式安装全部配置并按预期工作 .
我们实施的定制如下:
1.配置自定义登录页面
默认情况下,WSO2使用自己的登录页面进行用户身份验证 . 下面的屏幕截图显示了这方面的一个示例:
这是通过更新`/ repository / deployment / server / webapps / authenticationendpoint'文件夹的内容来完成的 .
2.配置以跳过用户同意
默认情况下,系统会提示用户同意Web应用程序访问其OpenID配置文件信息:
这是通过将 <OpenIDConnect><SkipUserConsent>
值从 false
更改为 true
打开 \repostiory\conf\identity\identity.xml
文件来完成的
3.配置用户帐户恢复和通知
这是通过:
-
在WSO2管理界面中安装“帐户恢复和凭据管理”功能
-
在
\repository\conf\carbon.xml
文件中将IdentityMgtEventListener
设置为true
-
更新
/repository\conf\identity\identity-mgt.properties
文件中的通知和useraccount设置 -
取消注释
\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. Configure Custom Login Pages - 网关服务器密钥管理器服务器
2. Configure to Skip User Consent - 网关服务器密钥管理器服务器
3. Configuring User Account Recovery and Notifications - 密钥管理器服务器
4. Configuring A Custom User Store Manager - 密钥管理器服务器
5. Creating Claims - 密钥管理器服务器
这些是正确的吗?还有什么我需要注意的吗?
提前谢谢了!乔恩
1 回答
据我了解,您正在尝试将API Manager用作身份提供程序 . 尽管API管理器能够执行某些身份提供程序任务,因为它具有Identity Server的某些功能,但您不应将其用作身份服务器 . 相反,您应该使用单独的身份服务器,并为其执行所有自定义 .
您还可以使用相同的身份服务器作为密钥管理器节点 . IS作为keymanager文档可以找到here . 您只需在Identity Server中安装一些API Manager功能并进行一些配置更改 . 还有一个预先打包的IS作为Keymanager包你可以直接使用 . 这是现在推荐的方法 . 见文档here .