Skip to content
This repository has been archived by the owner on Jan 29, 2018. It is now read-only.

Commit

Permalink
add OAuth 2.0 Token Upgrade Extension
Browse files Browse the repository at this point in the history
  • Loading branch information
David Recordon committed Jul 12, 2010
1 parent 82d7035 commit f0952f1
Show file tree
Hide file tree
Showing 2 changed files with 316 additions and 0 deletions.
225 changes: 225 additions & 0 deletions draft-recordon-oauth-v2-upgrade-00.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,225 @@



Network Working Group D. Recordon, Ed.
Internet-Draft Facebook
Intended status: Informational Jul 2010
Expires: January 2, 2011


OAuth 2.0 Token Upgrade Extension
draft-recordon-oauth-v2-upgrade-00

Abstract

This specification defines an OAuth 2.0 assertion request format for
upgrading OAuth 1.0 token and secret pairs to OAuth 2.0 access
tokens.

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 January 2, 2011.

Copyright Notice

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





Recordon Expires January 2, 2011 [Page 1]

Internet-Draft OAuth 2.0 Token Upgrade Extension Jul 2010


Table of Contents

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Notational Conventions . . . . . . . . . . . . . . . . . . 3
2. Assertion Request . . . . . . . . . . . . . . . . . . . . . . . 3
3. Assertion Response . . . . . . . . . . . . . . . . . . . . . . 4
4. Security Considerations . . . . . . . . . . . . . . . . . . . . 4
5. Normative References . . . . . . . . . . . . . . . . . . . . . 4
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 4










































Recordon Expires January 2, 2011 [Page 2]

Internet-Draft OAuth 2.0 Token Upgrade Extension Jul 2010


1. Introduction

This extension defines an assertion format as described in section
4.1.3 of [I-D.ietf.oauth-v2].

1.1. Notational Conventions

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].


2. Assertion Request

The client will make a request to the authorization server as
described in section 4.1.3 of [I-D.ietf.oauth-v2] with the following
parameters:

assertion_type
REQUIRED. "http://oauth.net/token/1.0"

assertion
REQUIRED. The OAuth 1.0 token and token secret to be upgraded as
a JSON object with the keys `token` and `token_secret`.

client_id
REQUIRED. The client identifier as described in Section 2 of
[I-D.ietf.oauth-v2].

client_secret
REQUIRED. The client secret as described in Section 2 of
[I-D.ietf.oauth-v2].

For example, the client makes the following HTTP request using
transport-layer security:

POST /token HTTP/1.1
Host: server.example.com
Content-Type: application/x-www-form-urlencoded

grant_type=assertion&
assertion_type=http%3A%2F%2Foauth.net%2Ftoken%2F1.0&
assertion=%7B'token'%3A'rjmaGaw48XT9ATWfofaz'%2C'token_secret'%3A'OgFcfN9J2EMojBR'%7D&
client_id=8eSEIpnqmM&
client_secret=s6BhdRkqt3






Recordon Expires January 2, 2011 [Page 3]

Internet-Draft OAuth 2.0 Token Upgrade Extension Jul 2010


3. Assertion Response

The authorization server MUST validate the client credentials, token,
and token secret. If they are all valid, the authorization server
issues an access token response as described in Section 4.2 of
[I-D.ietf.oauth-v2]. The new access token SHOULD have the same
expiration and scope as the OAuth 1.0 token which the client is
upgrading.


4. Security Considerations

No additional considerations beyond those described within the OAuth
2.0 Protocol.


5. Normative References

[I-D.ietf.oauth-v2]
Hammer-Lahav, E., Ed., Recordon, D., and D. Hardt, "The
OAuth 2.0 Protocol", Jun 2010.

[RFC2119] Bradner, B., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119.


Author's Address

David Recordon (editor)
Facebook

Email: davidrecordon@facebook.com



















Recordon Expires January 2, 2011 [Page 4]


91 changes: 91 additions & 0 deletions draft-recordon-oauth-v2-upgrade.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
<?xml version="1.0" encoding="UTF-8"?>
<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc category="info" docName="draft-recordon-oauth-v2-upgrade-00" ipr="trust200902">
<front>
<title>OAuth 2.0 Token Upgrade Extension</title>
<author fullname='David Recordon' surname='Recordon' initials='D.' role='editor'>
<organization>Facebook</organization>
<address>
<email>davidrecordon@facebook.com</email>
</address>
</author>

<date year="2010" month="Jul"/>

<abstract>
<t>This specification defines an OAuth 2.0 assertion request format for upgrading OAuth 1.0 token and secret pairs to OAuth 2.0 access tokens.</t>
</abstract>
</front>

<middle>
<section title="Introduction">
<t>This extension defines an assertion format as described in section 4.1.3 of <xref target="I-D.ietf.oauth-v2" />.</t>

<section title="Notational Conventions">
<t>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 <xref target='RFC2119' />.</t>
</section>
</section>

<section title="Assertion Request">
<t>The client will make a request to the authorization server as described in section 4.1.3 of <xref target="I-D.ietf.oauth-v2" /> with the following parameters:</t>

<t><list style="hanging">
<t hangText="assertion_type"><vspace />REQUIRED. "http://oauth.net/token/1.0"</t>
<t hangText="assertion"><vspace />REQUIRED. The OAuth 1.0 token and token secret to be upgraded as a JSON object with the keys `token` and `token_secret`.</t>
<t hangText="client_id"><vspace />REQUIRED. The client identifier as described in Section 2 of <xref target="I-D.ietf.oauth-v2" />.</t>
<t hangText="client_secret"><vspace />REQUIRED. The client secret as described in Section 2 of <xref target="I-D.ietf.oauth-v2" />.</t>
</list></t>

<t>For example, the client makes the following HTTP request using transport-layer security:</t>
<figure><artwork><![CDATA[
POST /token HTTP/1.1
Host: server.example.com
Content-Type: application/x-www-form-urlencoded
grant_type=assertion&
assertion_type=http%3A%2F%2Foauth.net%2Ftoken%2F1.0&
assertion=%7B'token'%3A'rjmaGaw48XT9ATWfofaz'%2C'token_secret'%3A'OgFcfN9J2EMojBR'%7D&
client_id=8eSEIpnqmM&
client_secret=s6BhdRkqt3
]]></artwork></figure>
</section>

<section title="Assertion Response">
<t>The authorization server MUST validate the client credentials, token, and token secret. If they are all valid, the authorization server issues an access token response as described in Section 4.2 of <xref target="I-D.ietf.oauth-v2" />. The new access token SHOULD have the same expiration and scope as the OAuth 1.0 token which the client is upgrading.</t>
</section>

<section title="Security Considerations">
<t>No additional considerations beyond those described within the OAuth 2.0 Protocol.</t>
</section>
</middle>

<back>
<references title="Normative References">
<reference anchor="I-D.ietf.oauth-v2">
<front>
<title abbrev='OAuth 2.0'>The OAuth 2.0 Protocol</title>
<author initials='E.' surname='Hammer-Lahav' fullname='Eran Hammer-Lahav' role='editor'></author>
<author initials='D.' surname='Recordon' fullname='David Recordon'></author>
<author initials='D.' surname='Hardt' fullname='Dick Hardt'></author>
<date year="2010" month="Jun"/>
</front>
<format type='TXT' target='http://tools.ietf.org/id/draft-ietf-oauth-v2-10.txt' />
<format type='HTML' target='http://tools.ietf.org/id/draft-ietf-oauth-v2-10.html' />
</reference>

<reference anchor="RFC2119">
<front>
<title abbrev='RFC Key Words'>Key words for use in RFCs to Indicate Requirement Levels</title>
<author initials='B.' surname='Bradner' fullname='Scott Bradner'></author>
</front>
<seriesInfo name='BCP' value='14' />
<seriesInfo name='RFC' value='2119' />
<format type='TXT' target='ftp://ftp.isi.edu/in-notes/rfc2119.txt' />
<format type='HTML' target='http://xml.resource.org/public/rfc/html/rfc2119.html' />
</reference>
</references>
</back>
</rfc>

0 comments on commit f0952f1

Please sign in to comment.