@@ -238,6 +238,27 @@ any particular authentication mechanism. This provides the ability for the
238238authorization server to manage the user authentication policies and
239239even change them in the future without coordinating the changes with applications.
240240
241+ The authorization layer can also simplify how a resource server determines
242+ if a request is authorized. Traditionally, after authenticating the client,
243+ each resource server would evaluate policies to compute if the client is authorized
244+ on each API call. In a distributed system, the policies need to be synchronized
245+ to all the resource servers, or the resource server must call a central policy
246+ server to process each request. In OAuth, evaluation of the policies is performed
247+ only when a new access token is created by the authorization server. If the
248+ authorized access is represented in the access token, the resource server no longer
249+ needs to evaluate the policies, and only needs to validate the access token.
250+ This simplification applies when the application is acting on behalf of a resource
251+ owner, or on behalf of itself.
252+
253+ OAuth is an authorization protocol, and is not an authentication protocol. The
254+ access token represents the authorization granted to the client. It is a common
255+ practice for the client to present the access token to a proprietary API which
256+ returns a user identifier for the resource owner, and then using the result of
257+ the API as a proxy for authenticating the user. This practice is not part of
258+ the OAuth standard or security considerations, and may not have been considered
259+ by the resource owner. Implementors should carefully consult the documentation
260+ of the resource server before adopting this practice.
261+
241262This specification is designed for use with HTTP ({{RFC9110}}). The
242263use of OAuth over any protocol other than HTTP is out of scope.
243264
0 commit comments