如何在WSO2 API管理器中获取用户有权访问的所有范围

贾尼尔(Janier)

我的Web客户端应用程序根据用户角色具有不同的菜单,如读取,删除,添加,查看等。我在WSO2 API管理器中配置了不同的作用域,如读取,删除,添加等以及与它们相关的角色。当用户登录时,我通过WSO2 API管理器对用户进行身份验证并获取令牌。如何获取该令牌的所有有效范围,以便根据接收到的范围向用户显示不同的菜单?由于我有很多作用域,因此我希望有一些解决方案,而不是在身份验证时通过所有作用域?使用WSO2 API管理器时,根据角色来处理菜单/按钮可见性的最佳方法是什么。我应该为此使用角色或范围吗?如果是这样,我如何在我的客户端应用程序中获得所有作用域/角色?

蜜蜂

您必须通过所有范围。然后令牌响应将返回与该令牌关联的作用域列表。

这是此博客文章中的一个很好的示例

新闻API具有两个定义的范围,即“ news_read”和“ news_write”。“ news_read”作用域与用户角色“雇员”和“经理”相关联。“ news_write”作用域仅与“ manager”角色相关联。

该API有两个操作。一个作为/ read(GET),另一个作为/ write(POST)。GET操作与“ news_read”范围相关联,而POST操作与“ news_write”范围相关联。

有两个用户,分别名为“ nuwan”和“ john”。用户“ nuwan”具有“雇员”角色,“ john”具有“雇员”和“经理”角色。两个用户都要求两个范围的令牌。

a)用户“ nuwan”将通过/ token API请求令牌。他的要求将采用以下格式。

grant_type = password&username = nuwan&password = xxxx&scope = news_read news_write

尽管'nuwan'要求在两个作用域中都具有令牌,但由于'nuwan'不在'manager'角色中,因此仅会授予他带有'news_read'范围的令牌。请参阅/ token API的响应以获取上述请求。

{“作用域”:“新闻阅读”,“令牌类型”:“承载者”,“到期时间”:3299,“ refresh_token”:“ 8579facb65d1d3eba74a395a2e78dd6”,“ access_token”:“ eb51eff0b4d85cda1eb1d312c5b6}

b)用户“ john”现在将请求令牌,如下所示。

grant_type = password&username = john&password = john123&scope = news_read news_write

由于“约翰”既具有“雇员”角色又具有“经理”角色,因此他获得的令牌将同时具有所请求的作用域。请参阅/ token API的响应以获取上述请求。

{“作用域”:“新闻阅读新闻”,“令牌类型”:“承载者”,“ expires_in”:3299,“ refresh_token”:“ 4ca244fb321bd555bd3d555df39315”,“ access_token”:“ 42a377a0101877d1d9e29c29f5f30857”

这基本上意味着“ nuwan”只能访问API的GET操作,而“ john”可以访问两者。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

WSO2:如何在具有API-M和身份服务器的SSO设置环境中通过API获取用户访问令牌?

来自分类Dev

如何在WSO2 API管理器中忽略具有无效json主体的API调用

来自分类Dev

如何在WSO2 API管理器中指定单个用户的限制?

来自分类Dev

如何在WSO2 API管理器中指定单个用户的限制?

来自分类Dev

如何在wso2 ESB中添加wso2 Application Server的功能?

来自分类Dev

如何在 WSO2 ESB 中获取响应正文

来自分类Dev

如何在wso2 API管理器网关中平衡websocket?

来自分类Dev

如何在WSO2 EMM Carbon服务器中运行WSO2 EMM Jaggery Web App?

来自分类Dev

如何在WSO2ESB和WSO2 MB中设置端口

来自分类Dev

WSO2 API管理器网关群集。如何在api-manager.xml中设置网关端点

来自分类Dev

WSO2 EI:如何在使用 vfs 选择 csv 文件时处理 WSO2 中的瑞典字符

来自分类Dev

如何在一个jvm中运行wso2 esb和api管理器

来自分类Dev

wso2 api管理器有xss问题

来自分类Dev

如何在WSO2 API管理器中获取OAuth的SAML2 Bearer断言配置文件以起作用?

来自分类Dev

如何使我的最终用户(在wso2身份服务器下)在wso2 api管理器中订阅api?

来自分类Dev

如何在资源服务器上验证WSO2 oauth2访问令牌

来自分类Dev

如何访问WSO2 API管理器的商店API?

来自分类Dev

WSo2 API管理器

来自分类Dev

如何在WSO2的API Publisher中为资源禁用OAuth2?

来自分类Dev

如何在WSO2的API Publisher中为资源禁用OAuth2?

来自分类Dev

如何在 WSO2 API 存储控制台中在定义/操作级别控制 API 的访问?

来自分类Dev

从oAuth2访问令牌API管理器获取用户名

来自分类Dev

如何在WSO2 ESB中为发送中介器的属性分配url?

来自分类Dev

如何在WSO2 ESB中拦截500个内部服务器错误

来自分类Dev

如何在WSO2 ESB中为发送中介器的属性分配url?

来自分类Dev

如何在 WSO2 IoT 服务器中启动 JMS 提供程序

来自分类Dev

如何在WSO2 ESB中实现虚拟REST API

来自分类Dev

WSO2 如何在不调用任何 WSO2 api 或客户端应用程序代理的情况下从 ActiveMQ 获取消息?

来自分类Dev

WSO2 API管理器中的有效负载字段验证

Related 相关文章

  1. 1

    WSO2:如何在具有API-M和身份服务器的SSO设置环境中通过API获取用户访问令牌?

  2. 2

    如何在WSO2 API管理器中忽略具有无效json主体的API调用

  3. 3

    如何在WSO2 API管理器中指定单个用户的限制?

  4. 4

    如何在WSO2 API管理器中指定单个用户的限制?

  5. 5

    如何在wso2 ESB中添加wso2 Application Server的功能?

  6. 6

    如何在 WSO2 ESB 中获取响应正文

  7. 7

    如何在wso2 API管理器网关中平衡websocket?

  8. 8

    如何在WSO2 EMM Carbon服务器中运行WSO2 EMM Jaggery Web App?

  9. 9

    如何在WSO2ESB和WSO2 MB中设置端口

  10. 10

    WSO2 API管理器网关群集。如何在api-manager.xml中设置网关端点

  11. 11

    WSO2 EI:如何在使用 vfs 选择 csv 文件时处理 WSO2 中的瑞典字符

  12. 12

    如何在一个jvm中运行wso2 esb和api管理器

  13. 13

    wso2 api管理器有xss问题

  14. 14

    如何在WSO2 API管理器中获取OAuth的SAML2 Bearer断言配置文件以起作用?

  15. 15

    如何使我的最终用户(在wso2身份服务器下)在wso2 api管理器中订阅api?

  16. 16

    如何在资源服务器上验证WSO2 oauth2访问令牌

  17. 17

    如何访问WSO2 API管理器的商店API?

  18. 18

    WSo2 API管理器

  19. 19

    如何在WSO2的API Publisher中为资源禁用OAuth2?

  20. 20

    如何在WSO2的API Publisher中为资源禁用OAuth2?

  21. 21

    如何在 WSO2 API 存储控制台中在定义/操作级别控制 API 的访问?

  22. 22

    从oAuth2访问令牌API管理器获取用户名

  23. 23

    如何在WSO2 ESB中为发送中介器的属性分配url?

  24. 24

    如何在WSO2 ESB中拦截500个内部服务器错误

  25. 25

    如何在WSO2 ESB中为发送中介器的属性分配url?

  26. 26

    如何在 WSO2 IoT 服务器中启动 JMS 提供程序

  27. 27

    如何在WSO2 ESB中实现虚拟REST API

  28. 28

    WSO2 如何在不调用任何 WSO2 api 或客户端应用程序代理的情况下从 ActiveMQ 获取消息?

  29. 29

    WSO2 API管理器中的有效负载字段验证

热门标签

归档