Internet DRAFT - draft-wmills-oauth-lrdd
draft-wmills-oauth-lrdd
Individual W. Mills
Internet-Draft Yahoo! Inc.
Intended status: Informational February 5, 2013
Expires: August 9, 2013
Link relation Type Registrations for OAuth 2
draft-wmills-oauth-lrdd-07.txt
Abstract
Defines link relation type registrations for the OAuth 2
authentication framework and OAuth 1.0a.
Status of this Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on August 9, 2013.
Copyright Notice
Copyright (c) 2013 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Mills Expires August 9, 2013 [Page 1]
Internet-Draft Link Relation Registrations for OAuth 2 February 2013
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. OAuth 2 Link Relation Types . . . . . . . . . . . . . . . . . 5
3.1. The "oauth2-authorize" Link Relation Type . . . . . . . . 5
3.2. The "oauth2-token" Link Relation Type . . . . . . . . . . 5
4. OAuth 1.0a Link Relation Types . . . . . . . . . . . . . . . . 6
4.1. The "oauth-initiate" Link Relation Type . . . . . . . . . 6
4.2. The "oauth-authorize" Link Relation Type . . . . . . . . . 6
4.3. The "oauth-token" Link Relation Type . . . . . . . . . . . 6
5. Security Considerations . . . . . . . . . . . . . . . . . . . 7
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8
6.1. Link Type Registration . . . . . . . . . . . . . . . . . . 8
6.1.1. OAuth 2: oauth2-authorize . . . . . . . . . . . . . . 8
6.1.2. OAuth 2: oauth2-token . . . . . . . . . . . . . . . . 8
6.1.3. OAuth 1.0a: oauth-initiate . . . . . . . . . . . . . . 8
6.1.4. OAuth 1.0a: oauth-authorize . . . . . . . . . . . . . 9
6.1.5. OAuth 1.0a: oauth-token . . . . . . . . . . . . . . . 9
7. Normative References . . . . . . . . . . . . . . . . . . . . . 10
Appendix A. Document History . . . . . . . . . . . . . . . . . . 11
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 12
Mills Expires August 9, 2013 [Page 2]
Internet-Draft Link Relation Registrations for OAuth 2 February 2013
1. Introduction
This document defines the link relation type [RFC5988] registrations
for the OAuth 2 [RFC6749] authentication framework and for OAuth 1.0a
[RFC5849]. These link relation types are used during the discovery
process by clients needing to discover the entry points for OAuth
authorization, token, and initiation for a service or site.
Mills Expires August 9, 2013 [Page 3]
Internet-Draft Link Relation Registrations for OAuth 2 February 2013
2. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
The reader is assumed to be familiar with the terms used in the OAuth
2 and OAuth 1.0a specifcations. OAuth uses the term "endpoint"
instead of "entry point", this document will generlaly use the term
"entry point" unless an OAuth specific term is needed.
Mills Expires August 9, 2013 [Page 4]
Internet-Draft Link Relation Registrations for OAuth 2 February 2013
3. OAuth 2 Link Relation Types
OAuth 2 [RFC6749] defines two entry points which a site or domain
might need to advertize. These are the user authorization endpoint
(usually expected to be a web page the user interacts with) and the
token endpoint used for obtaining tokens used to access protected
resources. These are described in detail in Section 3 of the OAuth 2
specification.
3.1. The "oauth2-authorize" Link Relation Type
This link type indicates a resource that provides an OAuth 2
authorization endpoint to be used for user authentication/
authorization to grant access to a protected resource.
3.2. The "oauth2-token" Link Relation Type
The OAuth 2 token endpoint to be used for obtaining tokens to access
protected services. This link type has two link-extensions:
grant-types: A space separated list of OAuth 2 grant types (see
section 4 of [RFC6749]) that can be used at the token endpoint
to obtain a token. This is not an exclusive list, it provides
a hint to the application of what SHOULD be valid. A token
endpoint MAY support additional grant types not advertised by a
discovery service. The client MAY use this to determine the
grant types available for use.
token-types: A space separated list of OAuth 2 token types (see
section 7.1 of [RFC6749]) that may be issued by the token
endpoint. It is possible for a token endpoint to issue
multiple tokens, and types may vary based on scope or other
factors. This is not an exclusive list, it provides a hint to
the application of what SHOULD be valid, and it MAY be used by
a client to determine if the client supports one or more of the
token type(s) available.
Mills Expires August 9, 2013 [Page 5]
Internet-Draft Link Relation Registrations for OAuth 2 February 2013
4. OAuth 1.0a Link Relation Types
The OAuth 1.0a [RFC5849] protocol defines three entry points that a
site supporting OAuth 1.0a might advertize: the request initiation
endpoint, the authorization endpoint, and the token endpoint. These
are descibed in detail in Section 2 of the OAuth 1.0a specification.
4.1. The "oauth-initiate" Link Relation Type
The OAuth 1.0a entry point used to initiate the sequence, this short
lived request is what the user approves to grant access to the
resource.
4.2. The "oauth-authorize" Link Relation Type
The OAuth 1.0a authorization entry point used to approve an access
request. This is expected to be a user facing web interface.
4.3. The "oauth-token" Link Relation Type
The OAuth 1.0a token API entry point used to exchange an approved
access request for a token, used by the client once the resource
owner has approved the access request.
Mills Expires August 9, 2013 [Page 6]
Internet-Draft Link Relation Registrations for OAuth 2 February 2013
5. Security Considerations
This document is informational, defining values in existing
registries, and as such has no security properties to discuss.
Mills Expires August 9, 2013 [Page 7]
Internet-Draft Link Relation Registrations for OAuth 2 February 2013
6. IANA Considerations
6.1. Link Type Registration
Pursuant to [RFC5988] The following link relation type registrations
[[will be]] registered by mail to link-relations@ietf.org.
6.1.1. OAuth 2: oauth2-authorize
o Relation Name: oauth2-authorize
o Description: An OAuth 2 authorization endpoint to be used for user
authentication/authorization to grant access to a protected
resource.
o Reference: Section 3.1 of [[This Document]]
o Notes:
o Application Data: N/A
6.1.2. OAuth 2: oauth2-token
o Relation Name: oauth2-token
o Description: The OAuth 2 token endpoint to be used for obtaining
tokens use to access a protected resource.
o Reference: Section 3.2 of [[This Document]]
o Notes: This link type has two link extension parameters: "grant-
types" and "token-types".
o Application Data: N/A
6.1.3. OAuth 1.0a: oauth-initiate
o Relation Name: oauth-initiate
o Description: The OAuth 1.0a request initiation endpoint used to
get an access request.
o Reference: Section 4.1 of [[This Document]]
o Notes:
o Application Data: N/A
Mills Expires August 9, 2013 [Page 8]
Internet-Draft Link Relation Registrations for OAuth 2 February 2013
6.1.4. OAuth 1.0a: oauth-authorize
o Relation Name: oauth-authorize
o Description: The OAuth 1.0a authorization endpoint used to approve
an access request.
o Reference: Section 4.2 of [[This Document]]
o Notes:
o Application Data: N/A
6.1.5. OAuth 1.0a: oauth-token
o Relation Name: oauth-token
o Description: The OAuth 1.0a token API endpoint used to exchange an
approved access request for a token, used by the client once the
resource owner has approved the access request.
o Reference: Section 4.3 of [[This Document]]
o Notes:
o Application Data: N/A
Mills Expires August 9, 2013 [Page 9]
Internet-Draft Link Relation Registrations for OAuth 2 February 2013
7. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC5849] Hammer-Lahav, E., "The OAuth 1.0 Protocol", RFC 5849,
April 2010.
[RFC5988] Nottingham, M., "Web Linking", RFC 5988, October 2010.
[RFC6749] Hardt, D., "The OAuth 2.0 Authorization Framework",
RFC 6749, October 2012.
Mills Expires August 9, 2013 [Page 10]
Internet-Draft Link Relation Registrations for OAuth 2 February 2013
Appendix A. Document History
[[ to be removed by RFC editor before publication as an RFC ]]
-07
o Editorial feedback & removed references.
o Added specific text to note sections in the OAuth specs.
-06
o Restructured the link extensions dscription into the prose,
simplifying the IANA section.
-05
o Changed the references to [[this document]] in the IANA parts.
o Added a small ammount of text.
-04
o Fixed the title.
o Removed the examples.
-03
o Corrected more typos and fixed the XRD for the examples, and small
changes in the prose.
-02
o Corrected typos. Added and example.
-01
o Editorial changes, corrected authenticate to authrorize is most
places, and added examples.
-00
o Initial revision
Mills Expires August 9, 2013 [Page 11]
Internet-Draft Link Relation Registrations for OAuth 2 February 2013
Author's Address
William J. Mills
Yahoo! Inc.
Phone:
Email: wmills_92105@yahoo.com
Mills Expires August 9, 2013 [Page 12]