Skip to content

Commit 5ec78e5

Browse files
committed
Clarify redirection proposal. See #117.
1 parent 0b86a72 commit 5ec78e5

File tree

1 file changed

+23
-19
lines changed

1 file changed

+23
-19
lines changed

draft-ietf-oauth-v2-1.md

Lines changed: 23 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -526,11 +526,13 @@ for certificate validation and other security considerations.
526526

527527
This specification makes extensive use of HTTP redirections, in which
528528
the client or the authorization server directs the resource owner's
529-
user agent to another destination. While the examples in this
530-
specification show the use of the HTTP 302 status code, any other
531-
method available via the user agent to accomplish this redirection,
532-
with the exception of HTTP 307, is allowed and is considered to be an
533-
implementation detail. See {{redirect_307}} for details.
529+
user agent to another destination.
530+
While this specification
531+
forbids the use of the 307 status code (see {{redirect_307}})
532+
and illustrates the use of the 302 status code,
533+
any other mechanism to accomplish the above redirection
534+
is legitimate and is considered as an implementation detail as long as
535+
it does not expose user credentials to untrusted parties.
534536

535537

536538
## Interoperability
@@ -958,35 +960,37 @@ Extension grant types MAY define additional endpoints as needed.
958960
## Authorization Endpoint
959961

960962
The authorization endpoint is used to interact with the resource
961-
owner and obtain an authorization grant. The authorization server
962-
MUST first verify the identity of the resource owner. The way in
963-
which the authorization server authenticates the resource owner
963+
owner and obtain an authorization grant. The AS
964+
MUST first authenticate the resource owner. The way in
965+
which the AS authenticates the resource owner
964966
(e.g., username and password login, session cookies) is beyond the
965967
scope of this specification.
966968

967-
The means through which the client obtains the location of the
969+
The means through which the client obtains the URL of the
968970
authorization endpoint are beyond the scope of this specification,
969-
but the location is typically provided in the service documentation,
971+
but the URL is typically provided in the service documentation,
970972
or in the authorization server's metadata document ({{RFC8414}}).
971973

972-
The endpoint URI MAY include an "application/x-www-form-urlencoded"
974+
The authorization endpoint URL:
975+
976+
- MUST NOT include a fragment component;
977+
- MAY include an "application/x-www-form-urlencoded"
973978
formatted (per Appendix B) query component ({{RFC3986}} Section 3.4),
974-
which MUST be retained when adding additional query parameters. The
975-
endpoint URI MUST NOT include a fragment component.
979+
which MUST be retained when adding additional query parameters.
976980

977-
The authorization server MUST support the use of the HTTP `GET`
978-
method {{RFC7231}} for the authorization endpoint and MAY support the
979-
use of the `POST` method as well.
981+
The authorization endpoint
982+
MUST support GET requests
983+
and MAY support POST requests.
980984

981-
The authorization server MUST ignore unrecognized request parameters.
985+
The authorization endpoint MUST ignore unrecognized request parameters.
982986

983987
Request and response parameters
984988
defined by this specification MUST NOT be included more than once.
985989
Parameters sent without a value MUST be treated as if they were
986990
omitted from the request.
987991

988-
An authorization server that redirects a request potentially containing
989-
user credentials MUST avoid forwarding these user credentials accidentally
992+
An authorization endpoints that redirects a request potentially containing
993+
user credentials MUST NOT forward these credentials to untrusted parties
990994
(see {{redirect_307}} for details).
991995

992996
## Token Endpoint

0 commit comments

Comments
 (0)