Zum Hauptinhalt springen

2. Resource Parameter (Ressourcenparameter)

2. Resource Parameter (Ressourcenparameter)

In Anfragen an den Autorisierungsserver KANN ein Client die geschützte Ressource (auch Ressourcenserver, Anwendung, API usw. genannt), auf die Zugriff angefordert wird, angeben, indem er den folgenden Parameter in die Anfrage aufnimmt.

resource

: Gibt den Zieldienst oder die Zielressource an, auf die Zugriff angefordert wird. Sein Wert MUSS ein absoluter URI sein, wie in Abschnitt 4.3 von [RFC3986] spezifiziert. Der URI DARF KEINE Fragmentkomponente enthalten. Er SOLLTE KEINE Abfragekomponente enthalten, jedoch wird anerkannt, dass es Fälle gibt, in denen eine Abfragekomponente ein nützlicher und notwendiger Teil des Ressourcenparameters ist, etwa wenn eine oder mehrere Abfrageparameter Anfragen auf eine Anwendung begrenzen. Der URI-Wert des Parameters resource ist ein Identifikator für die Identität der Ressource und KANN ein Locator sein, der einem netzwerkadressierbaren Ort entspricht, an dem die Zielressource gehostet wird. Mehrere resource-Parameter DÜRFEN verwendet werden, um anzugeben, dass das angeforderte Token an mehreren Ressourcen genutzt werden soll.

Der Parameterwert identifiziert eine Ressource, auf die der Client Zugriff anfordert. Der Parameter kann den Ort einer geschützten Ressource tragen, typischerweise als https-URL oder abstrakterer Identifikator. Dadurch kann der Autorisierungsserver Richtlinien gemäß der Ressource anwenden, etwa Art und Inhalt auszugebender Token bestimmen, ob und wie Token verschlüsselt werden, und angemessene Audience-Einschränkungen anwenden.

Der Client SOLLTE den spezifischsten URI angeben, den er für die gesamte API oder die Menge der Ressourcen, auf die er zugreifen will, angeben kann. In der Praxis kennt ein Client eine Basis-URI für die Anwendung oder Ressource, mit der er interagiert, die als Wert des Parameters resource geeignet ist. Der Client SOLLTE die Basis-URI der API als Wert von resource verwenden, sofern nicht spezifisches Wissen über die Ressource etwas anderes erfordert. Beispielsweise würde der Wert https://api.example.com/ für eine Ressource verwendet, die die ausschließliche Anwendung auf diesem Host ist; ist die Ressource jedoch eine von vielen Anwendungen auf diesem Host, würde etwas wie https://api.example.com/app/ als spezifischerer Wert verwendet. Ein weiteres Beispiel ist eine API mit mehreren Endpunkten, z. B. wenn System for Cross-domain Identity Management (SCIM) [RFC7644] Endpunkte wie https://apps.example.com/scim/Users, https://apps.example.com/scim/Groups und https://apps.example.com/scim/Schemas hat. Der Client würde https://apps.example.com/scim/ als Ressource verwenden, damit das ausgegebene Zugriffstoken für alle Endpunkte der SCIM-API gültig ist.

Der folgende Fehlercode wird bereitgestellt, damit ein Autorisierungsserver Probleme mit den angeforderten Ressourcen in Antwort auf eine Autorisierungsanfrage oder Zugriffstoken-Anfrage anzeigen kann. Er kann auch genutzt werden, dem Client mitzuteilen, dass eine ungültige Kombination aus Ressource und Scope angefordert wurde.

invalid_target

: Die angeforderte Ressource ist ungültig, fehlt, unbekannt oder fehlerhaft formatiert.

Der Autorisierungsserver SOLLTE ausgegebene Zugriffstoken in der Audience auf die durch den Parameter resource angegebenen Ressourcen beschränken. Audience-Einschränkungen können in JSON Web Tokens [RFC7519] mit dem aud-Claim übermittelt werden; das gleichnamige Member auf oberster Ebene liefert die Audience-Information in einer Token-Introspection-Antwort [RFC7662]. Der Autorisierungsserver kann den exakten resource-Wert als Audience verwenden oder von diesem Wert auf einen allgemeineren URI oder abstrakten Identifikator für die gegebene Ressource abbilden.