+V10.3 OAuth Resource Server
---+V10.3.1 Verify that the resource server only accepts access tokens that are intended for use with that …
---+V10.3.2 Verify that the resource server enforces authorization decisions based on claims from the access …
---+V10.3.3 Verify that if an access control decision requires identifying a unique user from an access token …
---+V10.3.4 Verify that, if the resource server requires specific authentication strength, methods, or …
---+V10.3.5 Verify that the resource server prevents the use of stolen access tokens or replay of access tokens …

V10.3 OAuth Resource Server

In the context of ASVS and this chapter, the resource server is an API. To provide secure access, the resource server must:

  • Validate the access token, according to the token format and relevant protocol specifications, e.g., JWT-validation or OAuth token introspection.
  • If valid, enforce authorization decisions based on the information from the access token and permissions which have been granted. For example, the resource server needs to verify that the client (acting on behalf of RO) is authorized to access the requested resource.

Therefore, the requirements listed here are OAuth or OIDC specific and should be performed after token validation and before performing authorization based on information from the token.

1. Overzicht

Titel Standaard
V10.3.1 Verify that the resource server only accepts access tokens that are intended for use with that …

Verify that the resource server only accepts access tokens that are intended for use with that service (audience). The audience may be included in a structured access token (such as the 'aud' claim in JWT), or it can be checked using the token introspection endpoint.

V10.3.2 Verify that the resource server enforces authorization decisions based on claims from the access …

Verify that the resource server enforces authorization decisions based on claims from the access token that define delegated authorization. If claims such as 'sub', 'scope', and 'authorization_details' are present, they must be part of the decision.

V10.3.3 Verify that if an access control decision requires identifying a unique user from an access token …

Verify that if an access control decision requires identifying a unique user from an access token (JWT or related token introspection response), the resource server identifies the user from claims that cannot be reassigned to other users. Typically, it means using a combination of 'iss' and 'sub' claims.

V10.3.4 Verify that, if the resource server requires specific authentication strength, methods, or …

Verify that, if the resource server requires specific authentication strength, methods, or recentness, it verifies that the presented access token satisfies these constraints. For example, if present, using the OIDC 'acr', 'amr' and 'auth_time' claims respectively.

V10.3.5 Verify that the resource server prevents the use of stolen access tokens or replay of access tokens …

Verify that the resource server prevents the use of stolen access tokens or replay of access tokens (from unauthorized parties) by requiring sender-constrained access tokens, either Mutual TLS for OAuth 2 or OAuth 2 Demonstration of Proof of Possession (DPoP).

1.1 Referenties

1.2 Geïdentificeerde eisen

1.3 Gerelateerde regelingen

2. Geïdentificeerde eisen

Eisen
Bron Eis

3. Gerelateerde regelingen

Regelingen
Bron Regelgeving
  • OWASP -

    EN: Publications of the OWASP Foundation, https://owasp.org/. OWASP® is a registered trademark of the OWASP Foundation, Inc.; GRCA is not affiliated with, nor endorsed by, the OWASP Foundation. Only the versions published by OWASP are authoritative.

    DE: Veröffentlichungen der OWASP Foundation, https://owasp.org/. OWASP® ist eine eingetragene Marke der OWASP Foundation, Inc.; GRCA steht in keiner Verbindung zur OWASP Foundation und wird von ihr nicht unterstützt. Maßgeblich sind allein die von OWASP veröffentlichten Fassungen.