Skip to content

Commit 125b9a4

Browse files
committed
add new intro text from Dick Hardt
1 parent 10239b7 commit 125b9a4

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

draft-ietf-oauth-v2-1.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,27 @@ any particular authentication mechanism. This provides the ability for the
238238
authorization server to manage the user authentication policies and
239239
even 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+
241262
This specification is designed for use with HTTP ({{RFC9110}}). The
242263
use of OAuth over any protocol other than HTTP is out of scope.
243264

0 commit comments

Comments
 (0)