根據用戶角色,我的Web客戶端應用程序具有不同的菜單,如讀取,刪除,添加,查看等。 我有不同的範圍作爲讀取,刪除,添加等,並與他們在WSO2 API管理器中配置相關的角色。 當用戶登錄時,我通過WSO2 API Manager對用戶進行身份驗證並獲取令牌。如何獲取該令牌的所有有效範圍,以便我可以根據收到的範圍向用戶顯示不同的菜單? 由於我有很多範圍,我希望有一些解決方案,而不是通過所有的範圍,而認證? 當使用WSO2 API Manager時,根據角色處理菜單/按鈕可見性的最佳方法是什麼?我應該使用角色或範圍來做到這一點?如果是這樣,我如何獲得我的客戶端應用程序中的所有範圍/角色?如何獲取用戶在WSO2 API管理器中訪問的所有範圍
回答
您必須通過所有範圍。然後,令牌響應將返回與該令牌關聯的範圍列表。
下面是從this blog post一個很好的例子。
新聞API有兩個定義的範圍'news_read'和'news_write'。 'news_read'範圍與用戶角色'employee'和 'manager'關聯。 'news_write'範圍僅與'管理員'角色 相關聯。
該API有兩個操作。一個爲/讀(GET),另一個爲/寫 (POST)。 GET操作與'news_read'範圍相關聯,並且POST操作與'news_write'範圍相關聯。
有兩個用戶名爲'nuwan'和'john'。用戶'nuwan'具有 '員工'角色,'約翰'具有'員工'和'經理'角色。 兩個用戶都在爲這兩個範圍請求一個令牌。
a)用戶 'nuwan' 將通過/令牌API請求令牌。他的 請求將採用以下格式。
grant_type =密碼&用戶名= nuwan &密碼= XXXX &範圍= news_read news_write
雖然 'nuwan' 請求令牌兩種範圍,他將只 授予令牌軸承 'news_read' 範圍因爲'nuwan'不在 的'經理'角色中。請參閱上述 請求中/ token API的響應。
{ 「範圍」: 「news_read」, 「token_type」: 「承載」, 「expires_in」:3299, 「refresh_token」: 「8579facb65d1d3eba74a395a2e78dd6」, 「的access_token」: 「eb51eff0b4d85cda1eb1d312c5b6a3b8」}
b )用戶'約翰'現在將要求一個令牌如下。
grant_type =密碼&用戶名=約翰&密碼= john123 &範圍= news_read news_write
自「約翰」同時具有「員工」和「經理」的角色,令牌 牽起將承擔兩請求的範圍。請參閱 /令牌API對上述請求的回覆。
{ 「範圍」: 「news_read news_write」, 「token_type」: 「承載」, 「expires_in」:3299, 「refresh_token」: 「4ca244fb321bd555bd3d555df39315」, 「的access_token」: 「42a377a0101877d1d9e29c5f30857e」}
這基本上意味着'nuwan'只能訪問API的GET操作 ,而'john'可以訪問兩者。
- 1. 如何在wso2 api管理器中獲取用戶配置文件?
- 2. WSO2 API管理器的API
- 3. 在asp.net中訪問Active Directory以獲取用戶管理器
- 4. 如何在WSO2 API管理器中註冊REST客戶端
- 5. WSO2 API管理器API Visiblity
- 6. WSO2 API管理器API WSDL
- 7. WSO2 API管理器的跨域問題
- 8. 如何在WSO2 API管理器中更改API的名稱1.8
- 9. Azure資源管理器API用戶的訂閱範圍授權
- 10. 如何從WSO2 API管理器中的用戶令牌識別用戶
- 11. 無法從公共IP訪問的WSO2 API管理器
- 12. WSO2 API管理員管理服務 - 獲取第二商店用戶列表
- 13. WSO2 API管理器 - 上下文管理
- 14. WSO2 api管理器和SSO
- 15. WSO2 API管理器混搭
- 16. WSO2 API管理器汽車
- 17. WSO2 API管理器配置
- 18. WSO2 API管理器net :: ERR_INSECURE_RESPONSE
- 19. WSO2 API管理器培訓
- 20. WSO2-API管理器和WSO2-IS:OAuth重疊
- 21. WSO2 API管理器 - 移動應用程序如何連接到API管理器?
- 22. 如何獲取Devise範圍(模型)的列表,如用戶,管理員等?
- 23. WSO2 API管理器 - 我們可以在沒有訪問令牌/訂閱的情況下訪問API嗎?
- 24. 獲取所有可以訪問協作的用戶/組:BOX API
- 25. WSO2 API管理器 - 無法訪問資源屬性
- 26. WSO2 API管理器:配置訪問文件消耗服務
- 27. WSO2 API管理器 - API的可見性
- 28. 如何在JSF 2中獲取所有會話範圍的bean?
- 29. Twitter API:如何從時間範圍獲取用戶的推文?
- 30. 雲端API訪問範圍
我們不能使用令牌自檢端點嗎? – farasath
我不認爲IS在這種情況下知道範圍。它們由APIM本身處理。 – Bee