WSO2通过客户端应用程序

时间:2017-12-12 16:14:18

标签: wso2

我正在使用WSO2 IS和API Manager,并希望限制客户端获取访问令牌范围。

例如, client_key_1 只能通过 scope_for_client_key_1 范围请求访问令牌, client_key_2 能够通过请求访问令牌scope_for_client_key_2 即可。但是,如果 client_key_1 会尝试使用 scope_for_client_key_2 请求令牌,那么它将会收到403或类似内容。

有没有办法在WSO2中配置它?

1 个答案:

答案 0 :(得分:0)

您有两种方法可以实现这一目标。但由于这不是WSO2支持的OOTB,因此您需要编写一些自定义Java代码。

1)引入具有新范围前缀的新范围发布者。

基于默认角色的范围发布者为here。您可以扩展它并使用新的作用域前缀编写自己的作用域发布者。在实现中,您还可以检查客户端密钥映射。然后,您可以为所有范围设置新前缀。

如果您的jar不是OSGi,请将jar添加到<APIM_HOME>/repository/components/lib/,您的课程将自动被选中。如果是OSGi,请将jar添加到<APIM_HOME>/repository/components/dropins/

2)如果您不想在示波器中使用前缀,则自定义默认范围发布者

自定义default class,构建jar并修补包,将其添加到<APIM_HOME>/repository/components/patches/patch0001/