WSO2 IS 5.2.0中的自定义授权类型

时间:2016-10-19 20:46:48

标签: wso2 wso2is wso2carbon

我最近将我的环境从WSO2 IS 5.0.0更新为WSO2 IS 5.2.0。我的环境由2台正在创建集群的计算机组成(使用WKA成员资格方案和Load Balancer(AW​​S ELB)并启用了粘性会话)。我正在使用MySQL(不是默认的H2数据库)。部署IS的计算机是Windows Server 2012 R2(EC2 AWS机器) 在IS 5.0.0版本中,我们有自定义授权OAuth授权类型。它是在以下文章之后实施的: https://docs.wso2.com/display/IS500/Writing+a+Custom+OAuth+2.0+Grant+Type
在升级过程之后,.jar文件被添加到[IS_HOME] \ repository \ components \ lib中,并且系统在console.log中成功启动且没有错误。但是当我们开始调用令牌端点时,系统就开始出错了:
https://slack-files.com/T0DDMMC9Y-F2QRF2JLA-bcd85857dc
https://slack-files.com/T0DDMMC9Y-F2QRFES10-ab528f64e5
然后我们重建了自定义OAuth授权类型。我们将org.wso2.carbon.identity.oauth_4.2.3.jar更新为4.2.7版。我们遵循这些文章:
https://docs.wso2.com/display/IS520/Extension+Points+for+OAuth#ExtensionPointsforOAuth-CustomOAuthgranthandler
https://docs.wso2.com/display/IS520/Writing+a+Custom+OAuth+2.0+Grant+Type
但是当我们启用自定义授权类型并开始调用令牌端点时,上面提到的错误会记录在console.log中,并由tomcat服务器作为响应返回。
在我们实施一些调整以解决一些问题后,我们取得了进展,但这仍然没有一个完整的解决方案:
https://slack-files.com/T0DDMMC9Y-F2S5LKT6V-560a2854ea

这可能与从5.0.0迁移到5.2.0时的某些问题有关,或者这是Tomcat服务器的某种配置问题? 或者这与授权类型本身有关?我们按照IS 5.0.0的说明执行了所有说明,但我们无法在IS 5.2.0上运行它。

提前致谢。

1 个答案:

答案 0 :(得分:1)

根本原因是,

引起:java.lang.ClassNotFoundException: org.apache.amber .oauth2.common.validators.AbstractValidator

WSO2 IS不再使用Amber库。因此,IS 5.2.0运行时中没有琥珀色库,导致找不到类错误。 相反,我们在5.2.0中使用Apache Oltu

您可以通过将IS 5.0.0的 IS_HOME / repository / components / plugins 中的琥珀色amber_0.22.1358727.wso2v4.jar复制到IS_HOME / repository / components / dropins来解决此问题。

更新:

此扩展无效的另一个原因是在运行时使用了OAuth osgi包未导出的类。