在WSO2 API管理器中由管理员为用户创建应用程序

在WSO2 API管理器中由管理员为用户创建应用程序,wso2,Wso2,作为管理员,我想在WSO2 API管理器中创建应用程序,并在API上订阅这些应用程序。然后,我希望将每个应用程序与某个用户关联,用户可以从其应用程序调用API,但不能从其他用户的应用程序调用API。我已经找到了一个可能的解决方案来与用户共享管理员组。但这似乎不适合我,因为如果它是唯一的公共组,那么用户将看到彼此的应用程序,如果它是每个用户一个组,那么管理员的组字段将在大量用户的情况下溢出。请给我一个建议,如何解决这项任务。我同意与用户共享管理组并不总是最好的方式 控制访问的措施之一是使用作用域。

作为管理员,我想在WSO2 API管理器中创建应用程序,并在API上订阅这些应用程序。然后,我希望将每个应用程序与某个用户关联,用户可以从其应用程序调用API,但不能从其他用户的应用程序调用API。我已经找到了一个可能的解决方案来与用户共享管理员组。但这似乎不适合我,因为如果它是唯一的公共组,那么用户将看到彼此的应用程序,如果它是每个用户一个组,那么管理员的组字段将在大量用户的情况下溢出。请给我一个建议,如何解决这项任务。

我同意与用户共享管理组并不总是最好的方式

控制访问的措施之一是使用作用域。

您可以为API资源调用分配一个作用域,并将定义的作用域限制为某些用户组

编辑:您可以为每个API创建一个角色,并为该角色分配一个用户列表。这样,用户就不局限于使用特定的应用程序,而只允许使用需要和提供作用域的API


请求访问令牌的用户必须明确请求一组作用域,API管理器将只授予用户角色(组)允许的作用域。

谢谢您的回答。我只需要澄清我的理解。过程如下。我说得对吗?1.管理员为每个API创建单独的作用域。2.管理员在WSO2 API管理器中创建应用程序,并在API上订阅这些应用程序。3.管理员为每个用户创建一个单独的角色,并为每个角色分配一个作用域(API)列表。4.用户获得“他的”应用程序的应用程序令牌,并且只能在其scopes.nr中调用API。3-不要将其过度复杂化。imho最简单的方法是为每个API创建一个角色,为这样一个角色分配API作用域,并为该角色分配一个用户列表(每个用户的角色通常是个坏主意)