Ich versuche, mich mit OpenId Connect, OAuth2.0, Sicherheitstokendienst und Claims vertraut zu machen. Stellen Sie sich ein Szenario mit einer großen Website mit vielen Bereichen und unterschiedlicher Funktionalität vor, z. Kunde, Auftrag, Lieferant, Lieferung, Rückkehr etc. Meine Frage ist das - würde ich Ansprüche auf dem Token-Server wie CanCreateCustomer, CanReadCustomer, CanUpdateCustomer, CanDeleteCustomer usw., d. H. Effektiv CRUD-Ansprüche für jeden Hauptbereich/Business-Objekt erstellen? Dies würde zu vielen zehn aber wahrscheinlichen hunderten von Ansprüchen führen. Oder kommt mein Verständnis zu kurz?Verstehen von Ansprüchen
Antwort
Ich denke, Ihr Verständnis ist weitgehend richtig. Wenn ich jedoch verstehe, was Sie richtig beschreiben, scheint es eher ein Autorisierungs- (OAuth) als ein Authentifizierung (OIDC) -Problem zu sein, und Sie können sich daher anschauen, wie andere OAuth-Ressourcenanbieter ihre Bereiche definieren (nicht Ansprüche). zum Beispiel GitHub oder Slack.
Ihr Verständnis ist richtig, aber Sie haben viel mehr Flexibilität in OAuth2.0 Tive (Ansprüche)
Diese Bereiche können zB in irgendeiner Weise konfiguriert werden, in Ihrem Fall statt der Schaffung einzelner Bereiche für jede CRUD Operation für jeden Hauptbereich, Sie Gruppenbereiche wie
customer.read_write
order.read_write
usw. erstellen können, können Sie auch eine Ebene höher, gehen durch Funktionalität Ebene Bereiche zu schaffen, wie
webportal.full_access
adminportal.full_access
dann in der Anwendung, nach der Authentifizierung kann die Genehmigung wie
ValidScopesIn({Scopes.WEBPORTAL_FULL_ACCESS, Scopes.CUSTOMER_READ_WRITE})
public void createCustomer(Customer customer) {
// your creation logic
}
getan würde ich empfehlen, dass „Bereiche“, wie URIs konfiguriert werden, so dass Kollisionen nicht auftreten.
Als example.
-jim
- 1. Erhalten von Ansprüchen mit IdentityServer3
- 2. Unterschied zwischen Ansprüchen und OAuth
- 3. Hinzufügen von Ansprüchen mit Owin Middleware
- 4. IdentityServer3 - Erweitern von Ansprüchen/Rollen - Hinzufügen von Attributen zu Berechtigungen
- 5. Abrufen von Ansprüchen aus SAML-Antwort von ADFS empfangen
- 6. Hinzufügen von Ansprüchen zu einer Unterklasse von ApplicationUser
- 7. AspNet5 - Windows-Authentifizierung Abrufen von Gruppennamen aus den Ansprüchen
- 8. Verstehen von Threads + asynchronous
- 9. Verstehen von Python Closures
- 10. Verstehen von Apache RewriteLog
- 11. Verstehen von JavaScript-Ausleihmethoden
- 12. Wie kann man Kollisionsresistenz bei JWT-Ansprüchen sicherstellen?
- 13. Verstehen von Sitzungen und Cookies
- 14. Verstehen und Schreiben von Parsern
- 15. Leistung von numpy memmap verstehen
- 16. Komplexere Beispiele von Nachkommenselektoren verstehen
- 17. Verstehen von Bäumen in ANTLR
- 18. Die Datenbankverbindungsvariable von PHP verstehen
- 19. Die Verwendung von addChildViewController verstehen
- 20. Verstehen von Parsec-Typ Anmerkungen
- 21. Pickel verstehen
- 22. WSGI verstehen
- 23. Farben verstehen
- 24. Scrum verstehen
- 25. verstehen Component.GetService()
- 26. Typfamilien verstehen
- 27. Zeiger verstehen
- 28. Verstehen BufferStrategy
- 29. Hinzufügen von Ansprüchen zu einem SAML-Token Usign Azure AD Single Singon
- 30. Aktualisierung von Ansprüchen in Microsoft Identity 3.0.0 rc1 und persistente Daten