2. Response Parameter iss
In authorization responses to the client, including error responses, an authorization server supporting this specification MUST indicate its identity by including the iss parameter in the response.
In Autorisierungsantworten an den Client, einschließlich Fehlerantworten, MUSS ein Autorisierungsserver, der diese Spezifikation unterstützt, seine Identität angeben, indem er den iss-Parameter in die Antwort aufnimmt.
The iss parameter value is the issuer identifier of the authorization server that created the authorization response, as defined in [RFC8414]. Its value MUST be a URL that uses the "https" scheme without any query or fragment components.
Der Wert des iss-Parameters ist der Aussteller-Identifikator des Autorisierungsservers, der die Autorisierungsantwort erstellt hat, wie in [RFC8414] definiert. Sein Wert MUSS eine URL sein, die das "https"-Schema ohne Abfrage- oder Fragmentkomponenten verwendet.
2.1. Example Authorization Response
The following example shows an authorization response from the authorization server whose issuer identifier is https://honest.as.example (extra line breaks and indentation are for display purposes only):
Das folgende Beispiel zeigt eine Autorisierungsantwort des Autorisierungsservers, dessen Aussteller-Identifikator https://honest.as.example ist (zusätzliche Zeilenumbrüche und Einrückungen dienen nur der Darstellung):
HTTP/1.1 302 Found
Location: https://client.example/cb?
code=x1848ZT64p4IirMPT0R-X3141MFPTuBX-VFL_cvaplMH58
&state=ZWVlNDBlYzA1NjdkMDNhYjg3ZjUxZjAyNGQzMTM2NzI
&iss=https%3A%2F%2Fhonest.as.example
2.2. Example Error Response
The following example shows an error response from the same authorization server (extra line breaks and indentation are for display purposes only):
Das folgende Beispiel zeigt eine Fehlerantwort desselben Autorisierungsservers (zusätzliche Zeilenumbrüche und Einrückungen dienen nur der Darstellung):
HTTP/1.1 302 Found
Location: https://client.example/cb?
error=access_denied
&state=N2JjNGJhY2JiZjRhYzA3MGJkMzNmMDE5OWJhZmJhZjA
&iss=https%3A%2F%2Fhonest.as.example
2.3. Providing the Issuer Identifier
Authorization servers supporting this specification MUST provide their issuer identifier to enable clients to validate the iss parameter effectively.
Autorisierungsserver, die diese Spezifikation unterstützen, MÜSSEN ihren Aussteller-Identifikator bereitstellen, damit Clients den iss-Parameter effektiv validieren können.
For authorization servers publishing metadata according to [RFC8414], the following rules apply:
Für Autorisierungsserver, die Metadaten gemäß [RFC8414] veröffentlichen, gelten folgende Regeln:
-
The issuer identifier included in the server's metadata value
issuerMUST be identical to theissparameter's value. -
Der im Metadatenwert
issuerdes Servers enthaltene Aussteller-Identifikator MUSS identisch mit dem Wert desiss-Parameters sein. -
The server MUST indicate its support for the
issparameter by setting the metadata parameterauthorization_response_iss_parameter_supported, defined in Section 3, totrue. -
Der Server MUSS seine Unterstützung für den
iss-Parameter angeben, indem er den in Abschnitt 3 definierten Metadatenparameterauthorization_response_iss_parameter_supportedauftruesetzt.
Authorization servers MAY additionally provide the issuer identifier to clients by any other mechanism, which is outside of the scope of this specification.
Autorisierungsserver KÖNNEN den Aussteller-Identifikator den Clients zusätzlich über andere Mechanismen bereitstellen, was jedoch außerhalb des Geltungsbereichs dieser Spezifikation liegt.
2.4. Validating the Issuer Identifier
Clients that support this specification MUST extract the value of the iss parameter from authorization responses they receive if the parameter is present. Clients MUST then decode the value from its "application/x-www-form-urlencoded" form according to Appendix B of [RFC6749] and compare the result to the issuer identifier of the authorization server where the authorization request was sent to. This comparison MUST use simple string comparison as defined in Section 6.2.1 of [RFC3986]. If the value does not match the expected issuer identifier, clients MUST reject the authorization response and MUST NOT proceed with the authorization grant. For error responses, clients MUST NOT assume that the error originates from the intended authorization server.
Clients, die diese Spezifikation unterstützen, MÜSSEN den Wert des iss-Parameters aus den empfangenen Autorisierungsantworten extrahieren, falls der Parameter vorhanden ist. Clients MÜSSEN den Wert dann gemäß Anhang B von [RFC6749] aus seiner "application/x-www-form-urlencoded"-Form dekodieren und das Ergebnis mit dem Aussteller-Identifikator des Autorisierungsservers vergleichen, an den die Autorisierungsanfrage gesendet wurde. Dieser Vergleich MUSS einen einfachen Zeichenfolgenvergleich verwenden, wie in Abschnitt 6.2.1 von [RFC3986] definiert. Wenn der Wert nicht mit dem erwarteten Aussteller-Identifikator übereinstimmt, MÜSSEN Clients die Autorisierungsantwort ablehnen und DÜRFEN NICHT mit dem Autorisierungs-Grant fortfahren. Bei Fehlerantworten DÜRFEN Clients NICHT annehmen, dass der Fehler vom beabsichtigten Autorisierungsserver stammt.
More precisely, clients that interact with authorization servers supporting OAuth metadata [RFC8414] MUST compare the iss parameter value to the issuer value in the server's metadata document. If OAuth metadata is not used, clients MUST use deployment-specific ways (for example, a static configuration) to decide if the returned iss value is the expected value in the current flow (see also Section 4).
Genauer gesagt, Clients, die mit Autorisierungsservern interagieren, die OAuth-Metadaten [RFC8414] unterstützen, MÜSSEN den Wert des iss-Parameters mit dem issuer-Wert im Metadatendokument des Servers vergleichen. Wenn keine OAuth-Metadaten verwendet werden, MÜSSEN Clients bereitstellungsspezifische Wege (zum Beispiel eine statische Konfiguration) verwenden, um zu entscheiden, ob der zurückgegebene iss-Wert der erwartete Wert im aktuellen Fluss ist (siehe auch Abschnitt 4).
If clients interact with both authorization servers supporting this specification and authorization servers not supporting this specification, clients MUST retain state about whether each authorization server supports the iss parameter. Clients MUST reject authorization responses without the iss parameter from authorization servers that do support the parameter according to the client's configuration. Clients SHOULD discard authorization responses with the iss parameter from authorization servers that do not indicate their support for the parameter. However, there might be legitimate authorization servers that provide the iss parameter without indicating their support in their metadata. Local policy or configuration can determine whether to accept such responses, and specific guidance is out of scope for this specification.
Wenn Clients sowohl mit Autorisierungsservern interagieren, die diese Spezifikation unterstützen, als auch mit solchen, die sie nicht unterstützen, MÜSSEN Clients den Status darüber speichern, ob jeder Autorisierungsserver den iss-Parameter unterstützt. Clients MÜSSEN Autorisierungsantworten ohne den iss-Parameter von Autorisierungsservern ablehnen, die den Parameter gemäß der Client-Konfiguration unterstützen. Clients SOLLTEN Autorisierungsantworten mit dem iss-Parameter von Autorisierungsservern verwerfen, die ihre Unterstützung für den Parameter nicht angeben. Es kann jedoch legitime Autorisierungsserver geben, die den iss-Parameter bereitstellen, ohne ihre Unterstützung in ihren Metadaten anzugeben. Lokale Richtlinien oder Konfigurationen können bestimmen, ob solche Antworten akzeptiert werden, und spezifische Anleitungen liegen außerhalb des Geltungsbereichs dieser Spezifikation.
In general, clients that support this specification MAY accept authorization responses that do not contain the iss parameter or reject them and exclusively support authorization servers that provide the iss parameter in the authorization response. Local policy or configuration can determine when to accept such responses, and specific guidance is out of scope for this specification.
Im Allgemeinen KÖNNEN Clients, die diese Spezifikation unterstützen, Autorisierungsantworten akzeptieren, die den iss-Parameter nicht enthalten, oder diese ablehnen und ausschließlich Autorisierungsserver unterstützen, die den iss-Parameter in der Autorisierungsantwort bereitstellen. Lokale Richtlinien oder Konfigurationen können bestimmen, wann solche Antworten akzeptiert werden, und spezifische Anleitungen liegen außerhalb des Geltungsbereichs dieser Spezifikation.
In OpenID Connect [OIDC.Core] flows where an ID Token is returned from the authorization endpoint, the value in the iss parameter MUST always be identical to the iss claim in the ID Token.
In OpenID Connect [OIDC.Core]-Flüssen, bei denen ein ID-Token vom Autorisierungsendpunkt zurückgegeben wird, MUSS der Wert im iss-Parameter immer identisch mit dem iss-Claim im ID-Token sein.
Section 4.1.2 of [RFC6749] already mandates that clients that do not support this specification MUST ignore the unrecognized iss parameter.
Abschnitt 4.1.2 von [RFC6749] schreibt bereits vor, dass Clients, die diese Spezifikation nicht unterstützen, den nicht erkannten iss-Parameter ignorieren MÜSSEN.
Note: The "JWT Secured Authorization Response Mode for OAuth 2.0 (JARM)" [JARM] defines a mechanism that conveys all authorization response parameters in a JSON Web Token (JWT). This JWT contains an
issclaim that provides the same protection if it is validated as described in Section 2.4. Therefore, an additionalissparameter outside the JWT is not necessary when JARM is used.
Hinweis: Der "JWT Secured Authorization Response Mode for OAuth 2.0 (JARM)" [JARM] definiert einen Mechanismus, der alle Autorisierungsantwortparameter in einem JSON Web Token (JWT) übermittelt. Dieses JWT enthält einen
iss-Claim, der denselben Schutz bietet, wenn er wie in Abschnitt 2.4 beschrieben validiert wird. Daher ist ein zusätzlicheriss-Parameter außerhalb des JWT nicht erforderlich, wenn JARM verwendet wird.