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]