我使用OAuth2.0进行WSO2IS的身份验证和授权。我在ESB上有多个API。在那里,用户可以授予对API1和API2的访问权限,但不授予对API3的访问权。
是否可以定义自定义范围以限制客户端访问所有API?
如果不可能,我如何保护API免受未经授权的访问?
附注:目前,我可能只会通过定义不同的应用程序来限制访问。但是,这不合适,因为我必须在客户端管理多个clientID和clientSecrets。
答案 0 :(得分:0)
是..您可以为此定义...默认情况下,Identity Server在授予访问令牌之前不会验证任何范围参数。为此,您需要根据资源服务器实现新的OAuth回调处理程序类。我想这个博客post解释了它。但据我所知,WSO2 Identity Server不提供基于范围的访问令牌。每个客户端和资源所有者都会发出访问令牌。不是每个客户端,资源所有者和范围。这已在wso2公共邮件列表中进行了讨论,并将在下一版本中修复。