Meine Web-Client-Anwendung hat verschiedene Menüs wie lesen, löschen, hinzufügen, anzeigen usw. abhängig von den Benutzerrollen. Ich habe verschiedene Bereiche wie Lesen, Löschen, Hinzufügen usw. und zugehörige Rollen, die im WSO2 API Manager konfiguriert sind. Wenn sich ein Benutzer anmeldet, authentifiziere ich den Benutzer über den WSO2 API Manager und erhalte das Token. Wie kann ich alle gültigen Bereiche für dieses Token erhalten, so dass ich dem Benutzer je nach Umfang unterschiedliche Menüs anzeigen kann? Da ich viele Bereiche habe, hoffe ich, eine andere Lösung zu haben, als alle Bereiche bei der Authentifizierung zu passieren? Was ist der beste Ansatz für die Verwaltung der Sichtbarkeit von Menüs/Schaltflächen in Abhängigkeit von Rollen bei Verwendung des WSO2-API-Managers? Soll ich dafür Rollen oder Bereiche verwenden? Wenn ja, wie bekomme ich alle Bereiche/Rollen in meiner Client-Anwendung?Wie bekomme ich alle Bereiche, auf die der Benutzer Zugriff hat in WSO2 API-Manager
Antwort
Sie müssen alle Bereiche passieren. Dann gibt die Token-Antwort die Liste der Bereiche zurück, die diesem Token zugeordnet sind.
Hier ist ein schönes Beispiel von this blog post.
Eine News-API hat zwei definierte Bereiche als 'news_read' und 'news_write'. Der Bereich 'news_read' ist den Benutzerrollen 'employee' und 'manager' zugeordnet. Der Bereich 'news_write' ist nur der Rolle 'manager' zugeordnet.
Die API hat zwei Operationen. Ein as/read (GET) und der andere als/write (POST). Die GET-Operation ist dem Bereich 'news_read' zugeordnet, und Die POST-Operation ist dem Bereich 'news_write' zugeordnet.
Es gibt zwei Benutzer namens 'Nuwan' und 'John'. Der Benutzer "nuwan" hat die Rolle "employee" und "john" hat die Rollen "employee" und "manager". Beide Benutzer fordern ein Token für beide Bereiche an.
a) Benutzer 'nuwan' wird ein Token über die/token-API anfordern. Seine Anfrage würde das folgende Format haben.
grant_type = Passwort & username = Nuwan & password = xxxx & scope = news_read news_write
Obwohl 'Nuwan' ein Token für beide Bereiche anfordert, wird er nur ein Token die 'news_read' Umfang Lager gewährt werden seit 'Nuwan' ist nicht in die 'Manager' Rolle. Siehe die Antwort von der/token-API für die obige Anforderung .
{ "Umfang": "news_read", "token_type": "bearer", "expires_in": 3299, "refresh_token": "8579facb65d1d3eba74a395a2e78dd6" "access_token": "eb51eff0b4d85cda1eb1d312c5b6a3b8"}
b) Benutzer 'John' wird nun ein Token wie unten anfordern.
grant_type = Passwort & username = john & password = john123 & scope = news_read news_write
Seit 'John' hat sowohl die 'Arbeitnehmer' und die 'Manager' Rolle, die Token er beide trägt bekommt die angeforderten Bereiche. Siehe die Antwort von der /token-API für die obige Anfrage.
{ "Umfang": "news_read news_write", "token_type": "bearer" "expires_in": 3299, "refresh_token": "4ca244fb321bd555bd3d555df39315" "access_token": "42a377a0101877d1d9e29c5f30857e"}
Das bedeutet, dass 'nuwan' nur auf die GET-Operation der API zugreifen kann, während 'john' auf beide zugreifen kann.
- 1. WSO2 APIManager 2.0.0 - LDAP-Benutzer als Admin festlegen
- 2. Wie kann man alle Dokumente abfragen, auf die der Benutzer in mongodb Zugriff hat?
- 3. Wie bekomme ich alle Jobs, die Benutzer in mySql nicht
- 4. Liste der SQL-Server abrufen, auf die Benutzer Zugriff hat
- 5. Alle Beiträge auswählen, auf die der Benutzer nicht geantwortet hat?
- 6. Wie bekomme ich den Punkt/die Koordinate, die der Benutzer auf eine Android-Ansicht geklickt hat?
- 7. Wie bekomme ich aktuellen Benutzer von Wso2 Bpmn?
- 8. Wie bekomme ich alle Objekte, für die ein Benutzer bestimmte Berechtigungen hat, in django guardian?
- 9. Wie bekomme ich alle Benutzer mit FosUserBundle?
- 10. Zugriff auf dynamische benannte Bereiche in VBA
- 11. Firebase: Zugriff auf verschiedene Bereiche je nach Benutzer
- 12. umbraco: Zugriff auf Dashboard-Bereiche kontrollieren
- 13. Wie authentifiziere ich mich korrekt in Mongo für einen Benutzer, der Zugriff auf mehrere Datenbanken hat?
- 14. Wie bekomme ich Zugriff auf die Netzwerk-Einstellungsseite in iPhone
- 15. Get Liste der Datenbanken Benutzer hat Zugriff auf
- 16. Wie kann ich herausfinden, die Arbeitsbereiche, die ein Benutzer hat Zugriff auf
- 17. Wie bekomme ich Zugriff auf die Variablen in anderen Methode
- 18. asp.net Wie bekomme ich die ID der Schaltfläche Benutzer geklickt
- 19. Wie bekomme ich Zugriff auf Enable-DistributionGroup?
- 20. Deform/Colander Validator, der Zugriff auf alle Knoten hat?
- 21. Wie bekomme ich alle Benutzer in firebase-admin api
- 22. Zugriff auf ApiController Benutzer in der Klassenbibliothek
- 23. Wie bekomme ich die IP-Adresse der Benutzer in Laravel?
- 24. Wie bekomme ich die Liste der Online-Benutzer in yii2
- 25. Wie bekomme ich aktuellen Benutzer auf firebase
- 26. Wie bekomme ich die Zeichenfolge aus einer Box, in die ein Benutzer eingegeben hat? Tkinter Python
- 27. Meteor Angular bekomme alle Benutzer
- 28. bekomme alle Bereiche eines Teilstrings in einer Zeichenfolge in swift
- 29. Wie bekomme ich meine Zählerspeicher zu bleiben über alle Benutzer
- 30. WSO2-Bereiche können nicht aktualisiert werden
Können wir den Token-Introspektions-Endpunkt nicht dafür verwenden? – farasath
Ich glaube nicht, dass IS in diesem Fall über Scopes weiß. Sie werden von APIM selbst behandelt. – Bee