我想发布我的API,但我希望限制,以便用户只能在沙箱环境中执行(我想限制特定用户/客户的生产)。
这是其他API管理器的基本功能,但我在WSO2中找不到该怎么做。
我在Medium找到了这篇文章,并且还注意到当我创建一个应用程序时,会创建几个新角色(Application / user_application_SANDBOX和Application / user_application_PRODUCTION),但我找不到如何使用它们。
深入研究doc并没有帮助我。
答案 0 :(得分:1)
选项1:
您可以使用application registration workflow来控制生产和沙箱的密钥生成,方法是通过审批流程发送。
如果您想根据属性或其他内容自动化它,可以编写custom workflow extension。
但是,这适用于应用程序,但不适用于API。这意味着如果您允许为应用程序生成prod密钥,则可以使用prod密钥访问应用程序已订阅的所有API。
<强>选项2:强>
如果您想在API级别执行此操作,可以编写custom mediation sequence。在自定义序列中,you can read the key type(即生产或沙箱),订户,最终用户(如果需要)等,并决定是否要允许请求。