我正在使用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中配置它?
答案 0 :(得分:0)
您有两种方法可以实现这一目标。但由于这不是WSO2支持的OOTB,因此您需要编写一些自定义Java代码。
基于默认角色的范围发布者为here。您可以扩展它并使用新的作用域前缀编写自己的作用域发布者。在实现中,您还可以检查客户端密钥映射。然后,您可以为所有范围设置新前缀。
如果您的jar不是OSGi,请将jar添加到<APIM_HOME>/repository/components/lib/
,您的课程将自动被选中。如果是OSGi,请将jar添加到<APIM_HOME>/repository/components/dropins/
。
自定义default class,构建jar并修补包,将其添加到<APIM_HOME>/repository/components/patches/patch0001/
。