1

Ich benutze IdentityServer3 als Autorisierungsserver in meiner Architektur.Ansprüche in JWT vs Ansprüche Transformation in Ressource

Ich habe eine API-Ressource, die ich meinen Kunden (Web-App und iOS-App) über einen Ressourcenbereich gewähren kann.

Frage 1: Wenn ich will forderungsbasierte Autorisierung in meiner API (CanViewQuestions zB eine Forderung genannt, dass nur einige Benutzer) zu tun, sollte ich:

a) Verwendung IdentityServer, zB bei Authentifizieren Sie, ob der Benutzer diesen Anspruch hat und fügen Sie ihn dem JWT

hinzu. b) Geben Sie einfach den Betreff (z. B. userId) in das JWT ein, suchen Sie in der API nach und führen Sie eine Schadentransformation durch.

Ich mache derzeit b), aber wundernd, ob dies vom Autorisierungsserver (z. B. IdSrv) selbst durchgeführt werden sollte?

Was ist der empfohlene Ansatz?

Frage 2

Wenn ich einen Hintergrunddienst (Azure Worker speziell) haben, die ich möchte auch den Zugriff auf meine API-Ressource geben, kann ich Client-Anmeldeinformationen verwenden fließen diesen Service ein Zugriffstoken zu geben. Aber wie kann ich diesem Service den gleichen Anspruch geben (CanViewQuestions)? Ich möchte grundsätzlich meine API haben, um sicherzustellen, dass eine bestimmte Ressource den Anspruch CanViewQuestions erfordert, aber es ist mir egal, ob es sich bei dem Client um die Webanwendung (z. B. Endbenutzer) oder den Client (kein Endbenutzer) handelt. Wenn der Antragsteller den Anspruch hat, gut zu gehen.

soll ich haben:

a) Verwenden Sie forderungsbasierte Transformation zu sehen, ob der Kunde die Dienstleistung ist, dann fügen Sie einfach die alle Ansprüche?

b) einbetten die Ansprüche im JWT (obwohl ich Client-Rechten Ansprüche nicht unterstützen fließen gelesen haben)

c) Etwas anderes?

Vielen Dank!

Antwort

1

In beiden Fällen würde ich empfehlen, die API-spezifischen Ansprüche an der API hinzuzufügen - nicht innerhalb des Token.

Autorisierungsspezifische Daten sollten immer so nah wie möglich an die Ressource hinzugefügt werden, die Sie schützen möchten.

Verwandte Themen