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]