Individual W. Mills
Internet-Draft Yahoo! Inc.
Intended status: Informational September 26, 2012
Expires: March 28, 2013

Link Type Registry for OAuth 2
draft-wmills-oauth-lrdd-02.txt

Abstract

Defines link type registrations for the OAuth 2 authentication framework.

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 March 28, 2013.

Copyright Notice

Copyright (c) 2012 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.


Table of Contents

1. Introduction

This document defines the link type [RFC5988] registrations for the OAuth 2 [I-D.ietf-oauth-v2] authentication framework. It also defines link type registrations for OAuth 1.0a [RFC5849]. These link types are used during the endpoint discovery process using Web Host Metadata [RFC6415] and Webfinger [I-D.jones-appsawg-webfinger] by clients needing to discover the authorization, token, and initiation endpoints for a service or site.

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.0 specification [I-D.ietf-oauth-v2].

In examples, "C:" and "S:" indicate lines sent by the client and server respectively. Line breaks have been inserted for readability.

Note that the IMAP SASL specification requires base64 encoding message, not this memo.

3. Security Considerations

This document is informational, defining values in existing registries, and as such has no security properties to discuss.

4. IANA Considerations

4.1. Link Type Registration

Pursuant to [RFC5988] The following link type registrations [[will be]] registered by mail to link-relations@ietf.org.

4.1.1. OAuth 2 Authorization Endpoint

4.1.2. OAuth 2 Token Endpoint

4.1.3. OAuth 1.0a Request Initiation Endpoint

4.1.4. OAuth 1.0a Authorization Endpoint

4.1.5. OAuth 1.0a Token Endpoint

5. Examples

We provide here both a Host-Meta example and a WebFinger example so that we have both XRD and JSON usages.

5.1. Host-Meta Example

The following might be returned from a fetch of https://www.example.com/.well-known/host-meta if OAuth 2 is supported and advertised.

<?xml version='1.0' encoding='UTF-8'?>
<XRD xmlns='http://docs.oasis-open.org/ns/xri/xrd-1.0' 
     xmlns:hm='http://host-meta.net/xrd/1.0'>
 
  <!-- Host-wide Information -->
  <Subject>example.com</Subject>
   
  <Link rel='oauth2-authorize' 
	href='http://login.example.com/oauth2/authorize' />
  <Link rel='oauth2-token' 
	href='http://login.example.com/oauth2/token' 
        grant-types='code password' token-types='bearer' />
</XRD>

Figure 1: Example of a Host-Meta type query result

5.2. WebFinger Example

Below we have an example of a server soupporting WebFinger advertizing the OAuth 2 endpoints as a result of a query against "acct:carol@example.com".

HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Type: application/json; charset=UTF-8

{
  "subject" : "acct:carol@example.com",
  "links" :
  [
    {
      "rel" : "oauth2-authorize",
      "href" : "http://login.example.com/oauth2/authorize"
    },
    {
      "rel" : "oauth2-token",
      "href" : "https://login.example.com/oauth2/token",
      "properties" : 
      {
        "grant-types" : "code password",
        "token-types" : "bearer"
      }
    }
  ]
}

Figure 2: Example of a WebFinger type query result

6. References

6.1. 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.
[I-D.ietf-oauth-v2] Hammer-Lahav, E, Recordon, D and D Hardt, "The OAuth 2.0 Authorization Protocol", Internet-Draft draft-ietf-oauth-v2-25, March 2012.

6.2. Informative References

[RFC6415] Hammer-Lahav, E. and B. Cook, "Web Host Metadata", RFC 6415, October 2011.
[I-D.jones-appsawg-webfinger] Jones, P, Salgueiro, G and J Smarr, "WebFinger", Internet-Draft draft-jones-appsawg-webfinger-05, May 2012.

Appendix A. Document History

[[ to be removed by RFC editor before publication as an RFC ]]

-02

-01

-00

Author's Address

William J. Mills Yahoo! Inc. EMail: wmills_92105@yahoo.com